Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何让所有的孩子都在child for treeview中?_Jquery_Treeview_Hummingbird - Fatal编程技术网

Jquery 如何让所有的孩子都在child for treeview中?

Jquery 如何让所有的孩子都在child for treeview中?,jquery,treeview,hummingbird,Jquery,Treeview,Hummingbird,我有一个类似这样的返回json数据 "data":[ { "taskAssignGroupId":123, "taskAssignGroupName":"Parent Pool", "taskAssignGroupDesc":"Parent Pool Desc", "state": true, "childPools":[ { "

我有一个类似这样的返回json数据

  "data":[ 
      { 
         "taskAssignGroupId":123,
         "taskAssignGroupName":"Parent Pool",
         "taskAssignGroupDesc":"Parent Pool Desc",
         "state": true,
         "childPools":[ 
            { 
               "taskAssignGroupId":124,
               "taskAssignGroupName":"Child Pool Name",
               "taskAssignGroupDesc":"Child Pool Desc",
               "state":true,
               "childPools":[ 
                  { 
                     "taskAssignGroupId":125,
                     "taskAssignGroupName":"Child Child Pool Name",
                     "taskAssignGroupDesc":"Child Child Pool Desc",
                     "state":true,
                     "childPools":[ 

                     ]
                  }
               ]
            }
         ]
      }
]
正如您在示例中看到的,我有一个父池和父池的子池

主要问题是子池可能是无限的。我的意思是子池可以是1、5或更多。所以在我的代码中,我只能得到一个孩子

如何使用$。每个函数或使用其他选项显示所有儿童

因此,我使用$。分别获取如下数据:

var htmlStr = "";
var checked = '';
$.each(dataSet.data, function (itemId, item) {
    htmlStr += '<li><i class="fa fa-plus"></i> <label> <input id="' + item.taskAssignGroupId+ '"  type="checkbox" />' + item.taskAssignGroupName+ '</label>'
    htmlStr += '<ul>'
    $.each(item.childPools, function (index, child) {
        if (child.state) {
            checked = 'checked=checked';
        }
        else {
            checked = '';

        }
        htmlStr += '<li><label><input ' + checked + ' class="hummingbird-end-node" id="' + child.taskAssignGroupId+ '" type="checkbox" />' + child.taskAssignGroupName+ "-" + child.taskAssignGroupDesc+ '</label></li>'
    });

    htmlStr += '</ul>'
    htmlStr += '</li>'
});

$('#treeview').html(htmlStr)

$("#treeview").hummingbird();

var htmlStr=”“;
var检查=“”;
$.each(dataSet.data,函数(itemId,item){
htmlStr+='
  • '+项。taskAssignGroupName+'' htmlStr+='
      ' $.each(item.childpool,函数(index,child){ if(子州){ 已检查='已检查=已检查'; } 否则{ 选中=“”; } htmlStr+='
    • '+child.taskAssignGroupName+“-”+child.taskAssignGroupDesc+'
    • ' }); htmlStr+='
    ' htmlStr+='
  • ' }); $('#treeview').html(htmlStr) $(“#树视图”)。蜂鸟();

    谢谢

    看一下演示

    我创建了一个我们调用的函数,每次我们有一个包含数据的子池

    function pool(pools) {
      $.each(pools, function(index, child) {
        if (child.state) {
          checked = 'checked=checked';
        } else {
          checked = '';
        }
        htmlStr += '<li><label><input ' + checked + ' class="hummingbird-end-node" id="' + child.taskAssignGroupId + '" type="checkbox" />' + child.taskAssignGroupName + "-" + child.taskAssignGroupDesc + '</label></li>'
    
        if (child.childPools.length > 0) {
          htmlStr += '<ul>'
          pool(child.childPools)
          htmlStr += '</ul>'
        }
      });
    }
    
    功能池(池){
    $。每个(池、函数(索引、子项){
    if(子州){
    已检查='已检查=已检查';
    }否则{
    选中=“”;
    }
    htmlStr+='
  • '+child.tasksassigngroupname+“-”+child.tasksassigngroupdesc+'
  • ' 如果(child.childPools.length>0){ htmlStr+='
      ' 池(child.childPools) htmlStr+='
    ' } }); }
    工作演示

    var数据集={
    “数据”:[{
    “taskAssignGroupId”:123,
    “taskAssignGroupName”:“父池”,
    “taskAssignGroupDesc”:“父池描述”,
    “国家”:正确,
    “儿童池”:[{
    “taskAssignGroupId”:124,
    “taskAssignGroupName”:“子池名称”,
    “taskAssignGroupDesc”:“子池描述”,
    “国家”:正确,
    “儿童池”:[{
    “taskAssignGroupId”:125,
    “taskAssignGroupName”:“子池名称”,
    “taskAssignGroupDesc”:“子池描述”,
    “国家”:正确,
    “儿童池”:[
    ]
    }]
    }]
    }]
    }
    var htmlStr=“”;
    var检查=“”;
    $.each(dataSet.data,函数(itemId,item){
    htmlStr+='
  • '+item.taskAssignGroupName+'' htmlStr+='
      ' 如果(item.childPools.length>0){ 池(项目.子池) } htmlStr+='
    ' htmlStr+='
  • ' }); 功能池(池){ $。每个(池、函数(索引、子项){ if(子州){ 已检查='已检查=已检查'; }否则{ 选中=“”; } htmlStr+='
  • '+child.tasksassigngroupname+“-”+child.tasksassigngroupdesc+'
  • ' 如果(child.childPools.length>0){ htmlStr+='
      ' 池(child.childPools) htmlStr+='
    ' } }); } $('#treeview').html(htmlStr)
    
    

    请将数组粘贴为数据,而不是图像,这样我们就可以使用它进行测试。另外,根据图像中给定的数据,我没有看到任何名为
    权限的属性
    @CarstenLøvboAndersen抱歉,我修复了此问题