JQUERY、AJAX双击DIV,直接修改DIV内的内容

  最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是自己动手写……

  最近在做后台功能开发的时候,用到对排序字段的修改,感觉只为了修改一个排序值,而要重新进入编辑页比较麻烦,于是网上找点资料自己动手写了一个jquery双击实现直接修改排序值的效果:

  html代码:

<div title="【双击可直接修改】" class="changeSort" id="{$id}">{$sort}</div>

   JS代码:

<script type="text/javascript">
//双击修改排序
	$('.changeSort').dblclick(function(){
		var url = "{:U('setSort')}";
		var td = $(this);
		var id = td.attr('id');
		var text = td.text();
		var txt = $("<input type='text' class='input-small' >").val(text);
		txt.blur(function(){
	        // 失去焦点,保存值。于服务器交互自己再写,最好ajax
	        var newText = $(this).val();
	        $.ajax({
		          url:url,
		          type:'POST',
		          data:{'tid':id,'sort':newText},
		          dataType:'json',
		          success:function(res){
		              if(res.flag==1){
		              	layer.msg(res.msg);
		              	// 移除文本框,显示新值
				        $(this).remove();
				        td.text(newText);
		              }else if(res.flag==3){
		                  layer.msg(res.msg);
		                  txt.val(newText);
		              }
		          }
		      });
	        
	    });
	    td.text("");
	    td.append(txt);
	});
</script>

   PHP代码:

<?PHP
/**
     * ajax 设置排序值
     */
    public function setSort(){
        if(IS_POST){
            $tid = I('post.tid');
            $sort = I('post.sort');
            if(!is_numeric($sort)){
                $arr = array(
                    'flag'=>3,
                    'msg'=>'请输入数字',
                    'link'=>'',
                    'content'=>''
                );
                $this->ajaxReturn($arr);
            }
            $data = array(
                'id'=>$tid,
                'sort'=>$sort
            );
            $this->mod_sort = M('Sort');
            $res = $this->mod_sort->save($data);
            if($res){
                $arr = array(
                    'flag'=>1,
                    'msg'=>'排序值设置成功',
                    'link'=>'',
                    'content'=>''
                );
            }else{
                $arr = array(
                    'flag'=>2,
                    'msg'=>'排序值设置失败',
                    'link'=>'',
                    'content'=>''
                );
            }
        }else{
            $arr = array(
                'flag'=>0,
                'msg'=>'请求非法!',
                'link'=>'',
                'content'=>''
            );
        }
        $this->ajaxReturn($arr);
    }
?>

 效果如下图:

图(1)

图(2)

 

本文转载自都市菜鸟

转载于:https://www.cnblogs.com/vliegen/p/5240323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值