菜单

ajax请求后台得到json数据后动态生成树形下拉绳的章程

2018年11月15日 - Ajax

如下所示:

作用:根据选择不同层次,在专业下拉框中动态变化对许分类的正统。

<select id="cc" class="easyui-combotree" style="width:580px;" name="rempId" data-options="required:true"></select>



<script>

$(function(){
$.ajax({
url:"departmentAction_getAllDep.action",
type:"post",
success:function(result){
//console.log(result);
$("#cc").combotree('loadData',b1(result));
}
});
$("#cc").combotree({
animate:true,
//选择树节点触发事件 
 onSelect : function(node) { 
 n = node;
  //返回树对象 
  var tree = $(this).tree; 
  //选中的节点是否为叶子节点,如果不是叶子节点,清除选中 
  var isLeaf = tree('isLeaf', node.target); 
  if (!isLeaf) { 
   //清除选中 
   $("#cc").combotree('clear'); 
  } 
 } 
});
});

var tree = {
id:'', 
 text:'', 
 state:'', 
 checked:'', 
 iconCls:'',
 attributes:'', 
 children:''
}

function b1(result){
var t = [];
$.each(result,function(index,dept){
t[index] = b2(dept);
});
return t;
}

function b2(dept){
  var tree = new Object();
tree.id = dept.depId; 
 tree.text = dept.depName; 
 tree.state = 'closed'; 
 tree.checked = 'false';
 if(dept.employees.length != 0){
 tree.children = b3(dept.employees);
 }else{
 tree.children = [];
 }
 return tree;
}

function b3(employees){ 
 var easyTree = []; 
 $.each(employees,function(index,item){ 
 easyTree[index] = b4(item); 
 }); 
 return easyTree; 
} 

function b4(item){
var tree = new Object();
tree.id = item.empId;
tree.text = item.empName;
if(item.empSex == "男"){
tree.iconCls = 'icon-nan';
}else{
tree.iconCls = 'icon-female';
}
return tree;
} 

</script>

HTML:

department表中的dept_id作为employee表中有的外键,生成的Department.java类吃生Set<employee>对象。从后台查询部门表明,得到List<Department>集合,通过struts2部署:

<label>层次</label>
<select name="level" id="level">
 <option value="1">本科</option>
 <option value="2">高职(专科)</option>
</select>
<label>专业</label>
<select name="major" id="major">
 <option value="">--</option>
</select>
<action name="departmentAction_*" class="com.chinasoft.action.DepartmentAction" method="{1}">
<result name="getAllDep" type="json">
<param name="root">list</param>
</result>
</action>

JQuery:

转成json格式后,传到jsp页面,在前台页面被拍卖json数据,动态变化下拉树。

$("#level").click(function(){
      $.ajax({
       type:"POST",
       url:"{:U('Target/queryMajor')}",
       dataType: "json",
       data:{
        level:$('#level').val()
       },
       success:function(data){
        $("#major").empty();
        switch (data.status){
         case '1':
          $("#major").append("<option value='' >--</option>");
          $.each(data.data,function(index,val){
           $("#major").append('<option value='+val.major+' >'+val.major+'</option>');
          });
          break;
         case '0':
          $("#major").append("<option value='' >--</option>");
          break;
        }
        return false;
       }
      });
      return false;
     });

上述这篇ajax请求后台得到json数据后动态生成树形下拉绳的方就是聊编分享给大家的全部内容了,希望能够于大家一个参阅,也盼大家多支持脚本的寒。

后台控制器:

你或许感兴趣的稿子:

public function queryMajor()
 {
 if(I('post.level') == 1){$ccmc = '本科';}else{$ccmc = '高职(专科)';}
 $dao = M('Plan');
 $condition["ccmc"] = $ccmc;
 $record = $dao->where($condition)->field('major')->select();
 if($record != null){
 $this->ajaxReturn($record,'','1');
 }else{
 $this->ajaxReturn('','','0');
 }
 }

如上就首Ajax获取php返回json数据动态生成select下拉绳的实例就是多少编分享给大家的全部内容了,希望能被大家一个参考,也欲大家多支持脚本的寒。

卿或许感兴趣的篇章:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图