2016-08-23 50 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; 
    }); 
関連する問題