2014-03-19 10 views
1

변경된 항목을 선택하거나 선택 취소했는지 알고 싶습니다.jstree 변경 이벤트에서 항목의 ID를 변경하는 방법

var MenuTree = function() { 
    $.ajax({ 
     type: "POST", 
     url: "Menu_Permission.aspx/Menu", 
     contentType: "application/json", 
     dataType: "json", 
     success: function (data) { 
      var menujson = JSON.parse(data.d); 
      $('#tree_menu').jstree({ 
       'plugins': ["wholerow", "checkbox", "types"], 
       'core': { 
        "themes": { 
         "responsive": false 
        }, 
        'data': menujson 
       } 
      }); 
     }, 
     error: function() { 
      console.log('err') 
     } 
    }); 

    $(function() { 
     $('#tree_menu').on('changed.jstree', function (e, data) { 
      console.log(data.node); 
      console.log(data.selected); 
     }); 
    }); 

    $(function() { 
     $('#tree_menu').on('deselect_node.jstree Event', function (e, data) { 
      console.log(data.node.id); 
     }); 
    }); 
    $(function() { 
     $('#tree_menu').on('select_node.jstree Event', function (e, data) { 
      console.log(data.node.id); 
     }); 
    }); 


} 

나는 이러한 기능을 가지고 changed.jstree 반환 값 Object 내가 클릭 ID를 도달 할 수 있습니다. 다른 사람들은 이드를 정확하게 반환하지만, 마지막으로 체크 된 항목이고 변경된 경우 어떻게 부모님 체크 박스가 변경되는지 알 수 있습니까? 그렇지 않으면 루트 항목이고 자식이있는 경우 모든 항목이 사라지고 어떻게 알 수 있습니까? data.selected는 나에게 선택된 배열을 반환하지만, 선택에서 선택 해제 또는 반전으로 변경되는 것을 알 수있는 방법이 있습니까?

함수가 onload를 실행하면 어떻게 바꿀 수 있습니까?

+0

당신이 무엇을 기대의 구체적인 예와 jsfiddle 또는 jsbin를 제공 할 수 있습니까? –

답변

2

를 사용하여 다음

$(function() { 
    $('#tree_menu').on('changed.jstree', function (e, data) { 
     console.log(data.node.id); 
    }); 
}); 

대신 사용

console.log(data.node); 

console.log(data.node.id); 
관련 문제