Jquery实现点击文字后变成文本框,修改发送后台保存
本文实现以下几个功能:
1.点击文字变为文本框 ,并选中文字
2.对文本框内容进行修改
3.点击文本框以外的地方文本框再次变为修改后的文字,如果是删除文字,显示默认提示文字
4. 同步更新SQL数据库内容
首先是HTML模板部分:
1 <{if !empty($img_list)}> 2 <{foreach $img_list as $kk=>$vv}> 3 <div class="item-box radius3"> 4 <a href="<{$vv[‘image‘]}>" target="_blank"> 5 <div class="item-image"> 6 <img src="<{$vv[‘image‘]}>?imageView/0/w/260/q/85" /> 7 </div> 8 </a> 9 <div class="item-desc" > 10 <span class="item-desc-span"><{$vv[‘name‘]}></span> 11 <input type="hidden" name="image_id" value="<{$vv[‘id‘]}>" /> 12 </div> 13 <div class="item-op"> 14 15 <{date(‘Y-m-d h:i:s‘,$vv[‘add_time‘])}> 16 <div class="opAbs"> 17 <{if $vv[‘status‘]==0}> 18 <span class="op" onclick="set_cover(<{$vv[‘id‘]}>)" >设为封面</span> 19 <{/if}> 20 <span class="op" onclick="image_del(<{$vv[‘id‘]}>)" >删除</span> 21 22 23 24 </div> 25 </div> 26 </div> 27 <{/foreach}> 28 <{/if}>
再来是处理脚本:
<script type="text/javascript"> $(function(){ $(".item-desc-span").click(function(){ var span_str = $(this); var ex_desc_str = span_str.text(); var input_str = $("<input type=‘text‘ class=‘editTxt‘ name=‘desc‘ value=‘"+ex_desc_str+"‘ />"); span_str.html(input_str); input_str.click(function() { return false; }); input_str.trigger("focus"); input_str.select(); //input失去焦点时候 input_str.blur(function(){ var to_desc = $(this).val(); var id = $(this).parent().next(‘input‘).val(); $.ajax({ type: ‘POST‘, url: ‘/club_image/set_desc‘, dataType: ‘json‘, data:{‘id‘: id,‘desc‘:to_desc}, success: function(data){ if(data.success==1){ if(to_desc){ span_str.html(to_desc); }else{ span_str.html(‘暂无描述‘); } }else{ span_str.html(ex_desc_str); alert("后台错误:"+data.msg); } }, error: function(data){ alert("AJAX错误"); ret = false; } }); }); //按下回车键时候 input_str.keydown(function(event){ if(event.keyCode == 13 ) { var to_desc = $(this).val(); var id = $(this).parent().next(‘input‘).val(); $.ajax({ type: ‘POST‘, url: ‘/club_image/set_desc‘, dataType: ‘json‘, data:{‘id‘: id,‘desc‘:to_desc}, success: function(data){ if(data.success==1){ if(to_desc){ span_str.html(to_desc); }else{ span_str.html(‘暂无描述‘); } }else{ span_str.html(ex_desc_str); alert("后台错误:"+data.msg); } }, error: function(data){ alert("AJAX错误"); ret = false; } }); } }); }); }); </script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。