复制代码
<body>
<table id="table" border="1" cellpadding="0" cellspacing="0" width="400" height="100">
<tr id="1"><td fd="name">小张</td><td fd="age">19岁</td></tr>
<tr id="2"><td fd="name">小李</td><td fd="age">20岁</td></tr>
<tr id="3"><td fd="name">小王</td><td fd="age">21岁</td></tr>
<tr id="4"><td fd="name">小赵</td><td fd="age">22岁</td></tr>
</table>
<script type="text/javascript" src="public/xheditor/jquery-1.4.4.min.js"></script>
<script>
$(document).ready(function(){
$("td").dblclick(function(){
var inval = $(this).html(); //获取选中的值
var inid = $(this).parents().attr("id"); //获取记录的id
var infd = $(this).attr("fd"); //获取选中的字段名
$(this).html("<input type='text' id='dian"+inid+infd+"' value='"+inval+"'>");//写入input
$("#dian"+inid+infd).focus().live("blur",function(){
var zhi = $(this).val();//获取失去焦点的表单的值
$(this).parents("td").html(zhi);
$.post('1.php',{id:inid,fd:infd,val:zhi});//ajax
});
});
});
</script>
</body>
复制代码

 

 

1. tr标签里面的id是设置的自增id

2. fd也是td的一个属性,可以在里面设置字段名称

3. jquery里面的提到的获取记录的id实际上就是获取自增id

4. 最后的ajax传值post或者get应该都可以,不过我post没测试成功,不知道是不是后台代码的问题,所以用的get

5. js代码如下:

复制代码
<script>
    $(document).ready(function(){
        $("td").dblclick(function(){
            var inval = $(this).html(); //获取选中的值
            var inid = $(this).parents().attr("id"); //获取记录的id(相当于自增id)
            var infd = $(this).attr("fd"); //获取选中的字段名
            $(this).html("<input type='text' id='dian"+inid+infd+"' value='"+inval+"'>");//写入input
            $("#dian"+inid+infd).focus().live("blur",function(){
                var zhi = $(this).val();//获取失去焦点的表单的值
                $(this).parents("td").html(zhi);
                //ajax
                $.get(
                    '__URL__/BluetoothInfoEdit',
                    {
                        id:inid,
                        fd:infd,
                        val:zhi
                    }
                );
            });
        });
    });
</script>
复制代码

 

后台代码:

复制代码
//信息修改
    public function BluetoothInfoEdit(){
        $id = $_GET['id'];//ID值
        $fd = $_GET['fd'];//字段名字
        $val = $_GET['val'];//值
        $data[$fd] = $val;
        $model = M('bluetooth_upgrade');
        $model->where('id='.$id)->save($data);
    }
复制代码

这样就可以了

注意那个$data[$fd] = $val

这句话是重点

以及save那句话的where条件也是重点,测试post的时候可能就是没有写where的原因才导致的失败!