jQuery更新的值没有获得新的价值

时间:2014-11-19 11:52:39

标签: php jquery mysql

我想通过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,

2 个答案:

答案 0 :(得分:1)

第1点:: ID更正

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

第2点::获取更新值

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

此处,作为<input>字段,因此需要使用.val(),而不是.text();

Point#3 :: AJAX参数传递

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

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

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

答案 1 :(得分:0)

将输入字段ID更改为其他内容(两个元素的ID不能相同)

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

使用该名称获取值

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