如何将字段ID连续存储?

Ben*_*oît 4 html php mysql ajax jquery

我编写了一个带有jquery和很多ajax请求的网站来获取表的数据,并在服务器端使用PHP/MySql进行数据修改.

目前,我使用id属性来存储表的字段的id(这是一个autoincrement int值).
它工作正常.

但我最近了解到id应该是唯一的(并以字母开头......).
我有不同的表可以具有相同的id值(对于不同的sql表)然后我不是html(也不是xhtml)兼容 ...

我怎么能纠正我的代码?

  • 通过使用.data()jQuery的功能?
  • 一个隐藏的html元素,其id为value(<span class="id">3</span>)?
  • 其他方案?

其他信息:
我写了一个小部件来管理我的表.
要添加新行,我会:

    row = $('<div class="row" id="'+item.id+'"/>');
    [...] // I add fields to my row
    row.appendTo(tableData);// tableData is the html element where rows are
Run Code Online (Sandbox Code Playgroud)

当一个字段元素被更改时,我触发一个事件到表,该事件将要求使用正确的id修改服务器:

$(e.target).closest(".row").attr("id")
Run Code Online (Sandbox Code Playgroud)

Mar*_*man 7

如果你能够使用jQuery 1.4.3或更高版本,请查看使用html 5 data-*属性.jQuery 1.4.3将自动使用这些数据属性并将它们.data()放在元素的集合中.

例:

<table>
  <tr data-rowId="1">

  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

$("tr:first").data("rowId") 会打印 1

此方法还允许您存储json对象.

<table>
  <tr data-row='{"Id" : 1, "Name": "Smith"}'>

  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

而在你的data() var row = $("tr:first").data("row") 你可以参考row.Idrow.Name