【发布时间】:2014-04-28 15:53:50
【问题描述】:
我有一张表,它的数据是从数据库中取出来的,而且这张表的每个td的id也是动态唯一的(td的id值等于数据库的表值)。在每个 td 中,当任何人双击它时,会出现一个输入字段,当用户编辑输入字段时,我进行了 Ajax 调用(使用 onblur),并在数据库中更新此 td 的字段。我猜这会起作用,现在我想更改 td 的 id 值,它将来自数据库(Ajax 调用)。
例如::
我的表代码::
<td id="2*Name>Engr._C.F._Zaman" class=" "> Engr. C.F. Zaman </td>
这个td的id是从database生成的,其中第一个2是表id的id,在(*) 是 db 表的列名 [Name],(>) 之后是 id 为 2 的列的值
当任何人点击这个 td 时,他/她会得到一个如下所示的输入字段::
<td id="2*Name>Engr._C.F._Zaman" class=" ">
<input type="text" class="form-control" id="sabbir" value="Engr._C.F._Zaman" name="Name" onblur="AjaxChange('2', 'Name', 'Engr._C.F._Zaman', '2*Name>Engr._C.F._Zaman');">
</td>
这是使用 jquery onclick 事件生成的。
现在,如果上述输入字段有任何变化,AjaxChange 就会被调用。我的 AjaxChange 代码是 ::
function AjaxChange( id, Attr, tdValue, td ) {
$.ajax({
url: "ajax_call.php", // this is just update the db
type: "POST",
data: { table: "life", id=id, name=Attr, value=tdValue }, //
dataType: "html",
done: function(data) {
// first I want to change the id of td, which value will be data
// td's id format is id*Attr>data
// next show data in the td with out input field
// <td id="id*Attr>data"> data </td>
}
});
}
现在如何更改此 td 的 id 属性?
【问题讨论】:
-
只是好奇,你为什么在
id="2*Name>Engr._C.F._Zaman"中使用元字符? -
这样我提取 2,姓名,Engr._C.F._Zaman,有更好的主意吗?
-
我建议你使用 data-* 属性
-
我不明白。 id 只是一个属性,你试过用 $(this).attr('id','myNewId') 设置它吗? [this if 在 click() 处理程序中]
-
@sabbir,我已经给出了一个替代解决方案,如果你希望你可以实现它
标签: javascript php jquery html mysql