二级页面进行勾选(jquery easyui)
EasyUI,在增、删的时候,经常用到二级页面进行勾选。
可以在datagird下面添加onCheck、onUncheck、onSelectAll、onUnselectAll事件。
在这些事件中,将勾选的内容存到map中,并转换成json格式字符串放到隐藏域中。
例1:
复制代码 代码示例:
onCheck : function(rowIndex, rowData)
if (rowIndex > -1) {
var userId= rowData.id;
if(!dataMap.containsKey(userId))
{
dataMap.put(userId, rowData);
$("input[name=selectData]").val(JSON.stringify(dataMap));
}
}
} ,
onUncheck : function(rowIndex, rowData) {
if (rowIndex > -1) {
var userId= rowData.id;
if( dataMap.containsKey(userId))
{
dataMap.remove(userId);
$("input[name=selectData]").val(JSON.stringify(dataMap));
}
}
},
onSelectAll:function(rows){
for(var i=0;i<rows.length;i++){
var rowData=rows[i];
var userId= rowData.id;
if(!dataMap.containsKey(userId))
{
dataMap.put(userId, rowData);
$("input[name=selectData]").val(JSON.stringify(dataMap));
}
}
},
onUnselectAll:function(rows){
for(var i=0;i<rows.length;i++){
var rowData=rows[i];
var userId= rowData.id;
if( dataMap.containsKey(userId))
{
dataMap.remove(userId);
$("input[name=selectData]").val(JSON.stringify(dataMap));
}
}
}
在父页面,获取隐藏域中的内容。
selectForm是二级页面的form表单的id,selectData是form表单中存放勾选数据的隐藏域。
将隐藏域中的数据转换成json格式,再用map的形式将数据一个个提取出来。
最后userId和rowData分别为map.elements[i].key和map.elements[i].value。
例2:
复制代码 代码示例:
var f = parent.$.modalDialogTwo.handler.find('#selectForm');
var selectData = f.find('input[name="selectData"]').get(0).value;
if (!selectData) {
parent.$.messager.alert('提示', "请选择一条记录!");
return;
}
var map = jQuery.parseJSON(selectData);
if (map.elements.length > 0) {
var nos = new Array();
var names = new Array();
for ( var i = 0; i < map.elements.length; i++) {
var data = map.elements[i];
nos.push(data.key);
names.push(data.value.name);
}