【问题标题】:jqGrid id undefined, why?jqGrid id 未定义,为什么?
【发布时间】: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


【解决方案1】:

试试这个:-

   $(grid).jqGrid('addRowData', 'foo', 'd');
   $(grid).jqGrid('addRowData', 'bar', 'baz');

数据应该在引号中,否则你可以声明变量

喜欢

  var d='sample';
  $(grid).jqGrid('addRowData', 'foo', d);
  $(grid).jqGrid('addRowData', 'bar', 'baz');

假设 d 是一个数组,检查 d 和 d[0] 如果 d[0] 有一个值,则使用 d[0] :-

  $(grid).jqGrid('addRowData', 'foo', d[0]);
             (or)
  $(grid).jqGrid('addRowData', 'foo', d[id]);

一切都会好起来的……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多