1
//JavaScript deferred load in main.php

var lista = jQuery("#list").getDataIDs();
console.log(lista);
-------------------------------

//getdata.php
$responce = new stdClass;

$responce->page = $page;
$responce->total = $total_pages;
$responce->records = $count;
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
    $responce->rows[$i]['id']=$row['slidescol'];
    $responce->rows[$i]['cell']=array($row['torder'],$row['title'],$row['iconpath'],$row['bannerurl'],$row['summary'],$row['headerstitle'],$row['headers'],$row['backurl'],$row['forwardurl'],$row['thisurl'],$row['slidescol']);
    $i++;
}        

fclose($handle);
echo json_encode($responce);

我试图确定为什么console.log即使网格中有四行,我也会返回一个空白数组或空集。

提前致谢...

4

2 回答 2

1

您提出的代码并未准确显示在JavaScript 中您的代码将被称为方法的位置getDataIDs。我想你在错误的地方调用它。最初页面上的一个地方是空的<table id="list"></table>,那么你应该创建关于的网格$("#list").jqGrid({/*options*/})。您getDataIDs只能在创建的网格上使用,而不能在空<table>元素上使用。通常在回调getDataIDs内部使用,loadComplete因为在这个地方可以确定网格已创建并且数据已填充到 jqGrid 的主体中。

于 2013-06-27T07:36:28.253 回答
1

What worked for me:

...

loadComplete: function() {

    var ids = $(this).jqGrid('getDataIDs');

    // i'm expanding all the sub grids here, but can do anything with the array
    var len = ids.length;
    for (var i=0; i < len; i++) {
        $(this).jqGrid('expandSubGridRow', ids[i]);
    }

}
于 2014-10-07T17:40:18.500 回答