EasyUI实现二级页面的内容勾选的方法

  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实现二级页面的内容勾选的方法,希望对大家能够有所帮助。