jsTree - 当复选框是故障单时调用函数并获取所有勾选的复选框

时间:2018-01-16 17:51:32

标签: javascript jstree

有没有办法在jstree中勾选复选框时调用函数? 我有以下示例,并希望调用函数" getImages"每当勾选树中的复选框时,我想收集此函数内所有勾选的复选框。知道怎么做吗?



$('#container').jstree({
    "core": {
      "themes":{ "icons":false },
		  'data' : [
      {
        "text" : "Root",
        "children" : [          
          { "id": 1, "text" : "Item A", "state" : { "opened" : true }, "children" : [ { "id": 11, "text" : "A-1"}, { "id": 12, "text" : "A-2"} ] },
          { "id": 2, "text" : "Item B" }
        ]
      }
    ]    
    },
    "checkbox" : {
      "keep_selected_style" : false
    },
    "plugins" : [ "checkbox", "wholerow" ]
  }
).on('ready.jstree', function(){ $(this).jstree('open_all') });

function getImages() {
  // get all the id of all ticked checkboxes
}




JS Fiddle example

1 个答案:

答案 0 :(得分:1)

来自[https://stackoverflow.com/a/35508809/8195985][1]

我自己的测试:



$(function () {


$('#container').jstree({
    "core": {
      "themes":{ "icons":false },
		  'data' : [
      {
        "text" : "Root",
        "children" : [          
          { "text" : "Item A", "state" : { "opened" : true }, "children" : [ "A-1", "A-2" ] },
          { "text" : "Item B" }
        ]
      }
    ]    
    },
    "checkbox" : {
      "keep_selected_style" : false
    },
    "plugins" : [ "checkbox", "wholerow" ]
  }
).on('ready.jstree', function(){ $(this).jstree('open_all') });

function getImages() {
  console.log('ok');
}

     $("#container").bind("changed.jstree",
    function (e, data) {
        //alert("Checked: " + data.node.id);
        getImages(); 
        //alert(JSON.stringify(data));
    });


});

<link href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" type="text/css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>
<div id="container">test</div>
&#13;
&#13;
&#13;