我正在创建一个表单,它将显示基于XML数据的多个网格(4个标准网格和1个子网格)。到目前为止,在我所有的测试中,一切都工作正常。我已经能够使用getRowData、getGridParam等遍历网格,但是,在调试时,我注意到对于每个网格,行号都是从1开始的简单数字,似乎无法区分它们。这会产生任何冲突吗?如果不是,有人能解释一下为什么吗?我只是希望上线后能少出点意外。提前感谢!
可以使用jqGrid的idPrefix
选项来解决这个问题。例如,如果您有两个网格的页面,您可以使用idPrefix: "g1_"
为第一个网格和idPrefix: "g2_"
为第二个网格。如果两个网格的id都是1,2,3,…在没有idPrefix
选项的情况下使用,那么具有idPrefix: "g1_"
的网格的id将是"g1_1","g1_2","g1_3",…idPrefix: "g2_"
的网格id分别为"g2_1"、"g2_2"、"g2_3"、…这样就不会有更多的id重复了。
如果从服务器下载数据,选项idPrefix
特别实用。选项idPrefix
仅更改local id。例如,如果修改行,前缀将从id
值中删除,该值将发送到服务器。这样就可以在服务器上使用数据库表中的本地id。
我不知道你正在使用的网格,但我知道id
应该是网站DOM结构内的唯一标识符。
-
HTML 4.0.1规范
-
HTML 5规范
如果网格将该id用于任何类型的操作,则可能会失败。如果没有,它可能工作得很好,即使HTML不会验证。
行id应该基于您从服务器返回的数据。请参阅此处的文档部分:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki retrieving_data
基本上,您有责任确保返回的XML使用唯一的id
值。