【发布时间】:2011-10-25 09:32:05
【问题描述】:
我有这个代码:
$(grid).jqGrid('addRowData', 'foo', d);
$(grid).jqGrid('addRowData', 'bar', 'baz');
正如在 FireBug 中看到的,它创建了这个 DOM:
<tr id="undefined" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row">
<tr id="bar" class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" role="row">
以“d”表示的数据与列模型匹配,并且显示正确(所以我知道网格基本上可以正常工作)。但是,第一行的“id”没有设置。另一方面,“baz”是垃圾;这会创建一个空白行,但是,“id”被正确设置为“bar”。
在这两种情况下,我都确信 ID 在我的 DOM 中是唯一的,此外,我观察到使用非唯一 ID 不会立即导致任何问题。
所以;我不明白为什么第一行的 id 没有设置。有什么想法吗?
【问题讨论】:
-
请发布“d”中的数据 我假设这只是一行数据,并且 JSON 可能格式错误,数据对象中只有一项。 stackoverflow.com/questions/3788197/…
-
啊哈,当我这样做时,我注意到 JSON 确实(并且无意中)包含一个不必要的 1 元素数组(围绕单个数据项)。奇怪的是,网格渲染得很好,但在分配 ID 时却窒息了。但显然我的错误。谢谢!
标签: jqgrid