Jquery easyui中datagrid使用過程中getSelections出現選擇總是一行的問題

今天在用datagrid時偶然發現一個問題,問題如下:

在使用 var rows = $("#datagride").datagrid(‘getSelections’)的時候,獲取選中的行數,在前臺頁面無論選中幾行,獲取rows.length的結果均爲1,於是查看了一下easyui中jquery.easyui.min.js中的源碼。源碼如下:

function _4bb(_4bc){

var opts=$.data(_4bc,“datagrid”).options;

var data=$.data(_4bc,“datagrid”).data;

if(opts.idField){

return $.data(_4bc,“datagrid”).selectedRows;

}else{

var rows=[];

opts.finder.getTr(_4bc,"",“selected”,2).each(function(){

var _4bd=parseInt($(this).attr(“datagrid-row-index”));

rows.push(data.rows[_4bd]);

});

return rows;

}

};

錯誤原因是:我設置了idField屬性,但是沒有給唯一性字段設置唯一值,導致獲取的值一直爲1。解決方法:
idField =“” 將該屬性置空即可 。

最後終結髮現:如果在datagrid中設置了idField:‘id’時,在返回數據的時候要有id字段,並且id要唯一;如果不設置idField,會正常獲取選中的行數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章