티스토리 뷰
var jstree = {
id: "id,
init: function () {
this.initAjax(this.id);
},
initTree: function (node) {
$("#jstree").jstree({
core: {
check_callback: true, // check_callback 이 없으면 create_node가 실행되지않는다
data: node //데이터 연결
},
types: {
'default': {
'icon': 'fa fas-user'
}
},
}).bind('select_node.jstree', function (event, data) { // open이 아닌 노드 내용클릭시 이벤트
}).on('open_node.jstree', function (e, data) { // 노드를 열때 발생하는 이벤트
$.ajax({
url: "/examples/request.php", // 서버의 URL 주소
data: {id: "id"}, // 보낼 데이터
type: "POST", // 요청 방식(GET,POST)
dataType: "json", // 데이터의 타입
success: function (data) { // 전송 성공
$.each(data, function (k, v) { // data는 json데이터 , k는 data의 key , v는 data의 value
$("#jstree").jstree().delete_node($("#" + v.id)); //존재하는 노드 삭제 필요시 사용
$('#jstree').jstree("create_node", v.parent, v, "last", function (new_node) { // 새로운 노드추가
// create_node / jstree의 함수
// v.parent / 추가 node가 들어가야할 id
// v / 들어가야할 value
// "last" / 들어가야할 곳의 마지막 ex)) first , last
});
});
},
error: function (request, status, error) { //error 시
alert("status:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);
//error메세지
}
});
});
},
initAjax: function (id) {
$.ajax({
url: "/examples/request.php", // 서버의 URL 주소
data: {id: "id"}, // 보낼 데이터
type: "POST", // 요청 방식(GET,POST)
dataType: "json", // 데이터의 타입
success: function (data) { // 전송 성공
$.each(data, function (k, v) { // data는 json데이터 , k는 data의 key , v는 data의 value
$("#jstree").jstree().delete_node($("#" + v.id)); //존재하는 노드 삭제 필요시 사용
$('#jstree').jstree("create_node", v.parent, v, "last", function (new_node) {
// 새로운 노드추가
// create_node / jstree의 함수
// v.parent / 추가 node가 들어가야할 id
// v / 들어가야할 value
// "last" / 들어가야할 곳의 마지막 ex)) first , last
});
});
},
error: function (request, status, error) { //error 시
alert("status:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);
//error메세지
}
});
}
}
window.onload = function () {
jstree.init();
};
'jquery' 카테고리의 다른 글
슬릭슬라이더 (slick slider) (0) | 2024.07.09 |
---|---|
dataables search & customize 하기 (0) | 2020.08.04 |
Jquery 텍스트 복사 (0) | 2020.01.08 |