j查询更新的值未获得新值


jQuery updated values not getting new value

我想通过jQuery使表内联可编辑。当我按下编辑按钮表行变得可编辑时,以前的值也显示在文本字段中。但是当我输入新值并按保存按钮时,我没有获得更新的值,数据库也保持不变。

获取要在可编辑表行中显示的先前值的代码是:

var nam =$("#name_"+id).html();

使表行可编辑的代码是:

$("#name_"+id).html("<input type='text' name='name' id='name_"+id+"' value='"+nam+"'>"); 

获取更新值的代码:

var nm = $('#name_'+id+'').text();

Ajax 请求更新数据库:

url: "inlineUpdate.php?id="+id+"name="+nm,

点 #1:: ID 更正

"name_"+id同时指向两个元素,一个包含<input><input>和表行。 因此,对于input ID,您必须使用其他 ID,而不是使用"name_"+id两次。 "name_"+id+"_editable"并使用它来获取更新值。

点 #2::获取更新值

var nm = $('#name_'+id+'_editable').val();

在这里,由于它是一个<input>字段,所以需要使用.val(),而不是.text();

点 #3::AJAX 参数传递

url: "inlineUpdate.php?id="+id+"name="+nm,

url: "inlineUpdate.php?id="+id+"&name="+nm,

                                ^----------- missed this (&)

将您的输入字段 id 更改为其他类似内容(两个元素不能有相同的 id)

$("#name_"+id).html("<input type='text' name='name' id='name_"+id+"_input' value='"+nam+"'>");

使用该名称获取值

var nm = $('#name_'+id+'_input').val();