第一种是通过子页面直接取父页面的值 父页面的值是一个目前所选中的数据的id所组成的一个数组 父页面代码
function getmoreid() {
var selections = $('table.var_table').datagrid('getSelections');
var keyName = 'ID';
var keys = [];
$.each(selections, function (k, v) {
if (v[keyName]) {
keys.push(v[keyName]);
}
});
return keys;
}
跳转页面就不说了 然后子页面代码var moreid = window.parent.getmoreid(); 即可取到返回值 也就是父页面被选中的多条数据的id,避免了url不能带数组的问题。
第二种方法将数组先拼成字符串然后通过问号传参 传递后 再拆分即可不过此方法根据不同的浏览器会有字符数的限制 所以一般不是很推荐。 但是相比于第一个方法,在需要多次打开子页面的时候,第一种方法只会被触发一次 不知道谁有好的解决办法可以推荐一下。
2019.3.21更新
直接 每次打开子页面时 先触发一次 取值的操作即可