作者:
wjh (皓月當空)
2015-08-04 16:25:28我使用jstree這個套件來製作網頁上的樹狀結構
加上他本身的plugin開發滿方便的
不過目前碰到一個問題
我在自訂的選單中有個rename的功能
action是使用jstree的edit來做node文字的編輯
然後在rename_node.jstree這個動作中做文字的檢查
內容如下
.on('rename_node.jstree', function (e, data,$node) {
$.get('?operation=rename_node', { 'id' : data.node.id, 'text' : data.text})
//done跟fail我不太明瞭是做什麼的,是跟著範例複製過來的
.done(function (d) {
data.instance.set_id(data.node, d.id);
alert(data.node);
})
.fail(function () {
data.instance.refresh();
});
//下面我檢查文字的內容,若有"||"就執行mt去更新資料庫,這邊都是
沒問題的
if(data.text.indexOf("||")!=-1){
mt("r",data.node.id+','+data.text);
}else{
//如果沒有"||"字串就跳出警告,將node的文字變為$text_o
alert("文字內容中必須有'||'作為分隔符號:"+$text_o+":"+data.text);
$("#jstree").jstree('set_text', [$node , $text_o] );
$("#jstree").jstree('rename_node', [$node , $text_o] );
}
})
問題是我找了一些網路上的方法去變更node的text
都沒辦法成功將文字回復
像是上面那兩行
$("#jstree").jstree('set_text', [$node , $text_o] );
$("#jstree").jstree('rename_node', [$node , $text_o]
以及我還記得的
rename_node($node,$text_o);
這幾個方式都失敗
請問我是方法用錯
還是沒找到正確的rename的那個物件呢?
謝謝