EasyUI,在增、刪的時候,經常用到二級頁面進行勾選。
可以在datagird下面添加onCheck、onUncheck、onSelectAll、onUnselectAll事件。
在這些事件中,將勾選的內容存到map中,並轉換成json格式字符串放到隱藏域中。
代碼如下:
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。
代碼如下:
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);
}
以上就是給大家分享的EasyUI實現二級頁面的內容勾選的方法,希望對大家能夠有所幫助。