rows已经可以获取到多条被选中的行,ids这里通过push方法在经过alert弹窗结果显示为空,如果用rows[i].ID就可以输出数据库里的ID值(i为任意给,datagrid为DataGrid控件)
var rows = $('#datagrid').datagrid('getSelections');
var ids=[];
if (rows > 0)
{
for (var i = 0; i < rows.length; i++)
{
ids.push(rows[i].ID);
}
}
alert(ids.join(','));//为什么显示空?rows[i].ID里面有值。
我遇到后台传到过的list直接遍历为空,其实是(object,object),你可以试试 Var a = rows[i]然后alert a.ID试试
你定义的数组初始值为空,for循环的结果你不需要把其值添加到数组中吗?不然数组仍然为空,所以弹框出来的值为空!
var rows = $('#datagrid').datagrid('getSelections');
var ids=[];
if (rows.length > 0)
{
for (var i = 0; i < rows.length; i++)
{
ids.push(rows[i].ID);
}
}
alert(ids.join(','));
像这种问题尽量一步步自己走一遍很容易就能发现问题,你的逻辑和方法没问题就是小的方面忽视了,多debug就是进步