Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中单击外部输入时如何保存输入_Jquery_Ajax - Fatal编程技术网

在jquery中单击外部输入时如何保存输入

在jquery中单击外部输入时如何保存输入,jquery,ajax,Jquery,Ajax,我有一张记录表。当用户双击每个时,它将转换为,然后在其外部单击后,必须将其保存。 但问题是,当在特定的中单击时,它会这样做 //双击->然后转换为输入 $(document).on('dblclick','tbody tr td',function(){ var tmp=$(this.text(); var name=$(this.attr(“数据名”); $(this.html(“”); $(文档)。在('单击',函数()上){ 如果($(this.attr('id')!=“tmp_ed”)

我有一张记录表。当用户双击每个
时,它将转换为
,然后在其外部单击后,必须将其保存。 但问题是,当在特定的
中单击时,它会这样做

//双击->然后转换为输入
$(document).on('dblclick','tbody tr td',function(){
var tmp=$(this.text();
var name=$(this.attr(“数据名”);
$(this.html(“”);
$(文档)。在('单击',函数()上){
如果($(this.attr('id')!=“tmp_ed”){
var item=$('tmp_ed').val();
var tr=$('#tmp_ed').parent().parent();
var id=tr.find('i').attr('id');
变量更新={
id:id,
请求:“更新”,
瓦尔:项目,
列:名称
};
$.ajax({
url:“update.php”,
方法:“张贴”,
数据:更新,
成功:职能(e){
警报(e);
}
});
$(this.parent().html(项目);
$(this.remove();
}
});

});像这样的东西怎么样

window.onclick = function(event) { 
    if (event.target != $('#tmp_ed')){
        //Your saving stuff
    }
}

jsiddle:

这里是一个小型的需求工作演示,无需调用
AJAX
来更新数据库中的
输入值:

//双击->然后转换为输入
var currentEle='';
$(文档).on('dblclick','tbody tr td',函数(e){
e、 停止传播();
currentEle=$(此);
var tmp=$(this.text();
var name=$(this.attr(“数据名”);
$(this.html(“”);
$(“#tmp#ed”).focus();
});
$(文档)。单击(函数(e){
如果($(e.target).最近('td')。长度==0)
$(currentEle).html($(“#tmp_ed”).val();
});

测试

在输入时使用onChange,但很遗憾,这会导致相同的问题。