table下的表格实现双击变为文本框,利用ajax提交表单

前些日子在公司里遇到一个需求,如题,所以分享一下写法:

JS:

//双击触发的事件
function dbl_c(){

    $(".td1").dblclick(function(){
        var td = $(this);
        var text = $.trim(td.text());
        var txt = $("<input type='text' >").val(text);
        txt.blur(function(){
            var rdremark = $(this).val();

            //获取同行不同列的值,通过当前对象的父节点的父节点(td->tr->table)获取td类名applyid这一列的遍历
            var applyid = $(this).parent().parent().find("td.applyid:eq(0)").text();

            alert("当前申请编号为:" + applyid + ",审核阅读标注修改成功!");
            $.ajax({
                url : "xxxx(此处是你的action)",data : {"applyid" : applyid,"rdremark" : rdremark},type : "post",async : true,cache : false,dataType : "json",success : function(){
                    //这里是成功后的执行函数
                }
            });
            var newText = $(this).val();
            $(this).remove();
            td.text(newText);

        });
        td.text("");
        td.append(txt);
        txt.focus();
    });
}

表格:

<td class="td1" ondblclick="dbl_c()" ><%=Pagetools.StringFromObject(map.get("rdremark")) %></td>

最后的效果就是在现实的表格中,你所做的对应的双击事件单元格处双击,即可变为文本框,鼠标点击别处,既可恢复为单元格。

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...