2014-01-30 1 views
1

나는 아주 간단한 일을하려하고 있으며 벽돌 벽을 치는 것처럼 보입니다. 이미 문서에있을 수도 있지만 찾지 못했습니다.jstree contextmenu - 변경 사항을 저장하는 방법

새로 만든 노드 또는 이름이 바뀐 노드를 저장하려고합니다. 난 아주 기본 설정으로 시작 해요 :

$('#tree').jstree({ 
    'core' : { 
     'check_callback' : true 
    }, 
    'plugins' : ['contextmenu', 'dnd', 'state'] 
}).on('create_node.jstree', function(e, data) { 
    console.log('saved'); 
}); 

는 내가 기대하고있어입니다 :
1) 마우스 오른쪽 단추로 클릭 기존의 노드 중 하나. "생성"을 클릭
2) - console.log('saved'); 화재
3) 나는 새로운 노드의 이름을 입력 할 때 그건
4) 데이터를 저장하기 위해 "입력"을 눌러 -이 시점에서 나는에 아약스 요청을 실행하려면 DB에 새 노드를 저장하십시오.

포인트 4에서 이벤트를 어떻게 catch합니까?

답변

1

rename_node 이벤트 수신 대기 플러그인 작성자. 그래서 작업 코드는 다음과 같습니다 때때로

$('#tree').jstree({ 
    'core' : { 
     'check_callback' : true 
    }, 
    'plugins' : ['contextmenu', 'dnd', 'state'] 
}).on('rename_node.jstree', function(e, data) { 
    console.log('saved'); 
}); 
+0

아약스를 사용하여 데이터베이스에 저장할 폴더와 파일을 작성한 다음 트리에서 데이터베이스의 새 데이터를 표시하기 위해 성공한 페이지를 새로 고칩니다. 서버에 대한이 아약스 호출을 수행하는 방법을 보여주는 자습서가 있습니까? 나는 정말로 붙어 있기 때문에 누구나 대답 할 수 있으면 고맙겠습니다. 감사. – naz786

0

이 작동하지 않으며 다음 사용 create_node 이벤트를 가고 싶어한다면,

$('#tree').jstree({ 
'core' : { 
    'check_callback' : true 
}, 
'plugins' : ['contextmenu', 'dnd', 'state'] 
}).bind('create_node.jstree', function(e, data) { 

console.log('saved'); 

}); 

이 트릭을 할 단지 수 있습니다. 또는 atall이 일부 팝업에서 사용되는 경우 jquery 이벤트가 아닌 실제 이벤트를 사용하면 반드시 그 자리에 닿아 야합니다.