在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,但很遗憾,这会导致相同的问题。