2016-08-23 1 views
0

jstree: при щелчке родительского узла должны быть выбраны только все дочерние элементы, и должен быть выбран родительский элемент.jstree: при щелчке родительского узла только все дочерние элементы должны быть выбраны, а родительский не должен быть выбран.

$('#DivIndustryCategoryTree').on('changed.jstree Event', function(e, data) { 
    var i, j, r = []; 
    var relatedIndustryID = []; 
    categoryBEArray.RelatedIndustries = []; 
    for (i = 0, j = data.selected.length; i < j; i++) { 
     var indSelectedObj = {}; 
     indSelectedObj.ProductID = ProductID; 
     indSelectedObj.ProductPageID = ProductPageID; 
     indSelectedObj.Language = Language; 
     r.push(data.instance.get_node(data.selected[i]).text); 
     indSelectedObj.IndustryID = parseInt(data.instance.get_node(data.selected[i]).id); 
     relatedIndustryID.push(parseInt(data.instance.get_node(data.selected[i]).id)); 
     categoryBEArray.RelatedIndustries.push(indSelectedObj); 
    } 
    selectedData = r; 
    selectedDataID = relatedIndustryID; 
    categoryBEArray.RelatedServices.push(null); 
    categoryBEArray.ID = ProductID; 
}); 

ответ

0

Я не думаю, что это возможно через конфигурацию. Но вы можете сделать это, пока итерация всех выбранных узлов проведет проверку родительского (top_selected) узла в начале цикла и дайте телу цикла работать только в том случае, если оно ложно.

Код:

$('#DivIndustryCategoryTree').on('changed.jstree Event', function(e, data) { 
     var i, j, r = []; 
     var relatedIndustryID = []; 
     categoryBEArray.RelatedIndustries = []; 
     // add below line 
     var parentNode = $('#DivIndustryCategoryTree').jstree().get_top_selected(true)[0].text; 
     //edit below line 
     for (i = 0, j = data.selected.length; i < j && data.selected[i]).text!= parentNode; i++) { 
      var indSelectedObj = {}; 
      indSelectedObj.ProductID = ProductID; 
      indSelectedObj.ProductPageID = ProductPageID; 
      indSelectedObj.Language = Language; 
      r.push(data.instance.get_node(data.selected[i]).text); 
      indSelectedObj.IndustryID = parseInt(data.instance.get_node(data.selected[i]).id); 
      relatedIndustryID.push(parseInt(data.instance.get_node(data.selected[i]).id)); 
      categoryBEArray.RelatedIndustries.push(indSelectedObj); 
     } 
     selectedData = r; 
     selectedDataID = relatedIndustryID; 
     categoryBEArray.RelatedServices.push(null); 
     categoryBEArray.ID = ProductID; 
    }); 
Смежные вопросы