2012-02-08 40 views
2

,同時重命名jstree中的節點,我想驗證重命名中的特殊字符,如果找到,我想提醒用戶,並回滾到舊名稱。jstree驗證節點的重命名,如果沒有驗證,回滾到舊名稱

爲我添加

  • 重命名上下文菜單
  • 後,我並在我結合檢查event.type === node_rename
  • 我node_rename結合並重新命名事件
  • 我能夠驗證新名稱的特殊字符,因爲我在data.args中獲得新名稱[1]
  • 但是在我的警報來臨之前,重命名已經發生,並且我沒有找到撤消該方法的方法。

任何幫助表示讚賞。

回答

3

代替綁定rename_node,我需要綁定到rename.jstree,然後需要使用回滾操作。

這裏是綁定事件代碼。

if(type === 'rename') 
{ 
     var new_Name = data.rslt.new_name; 
     var iChars = "[email protected]#$%^&*()+=[]\\\';,/{}.-_|\":<>?"; 
     for (var i = 0; i < new_Name.length; i++) 
     { 
      if (iChars.indexOf(new_Name.charAt(i)) != -1) 
      { 
       alert ("Special characters are not allowed."); 
       $.jstree.rollback(data.rlbk); 
      } 
     } 
} 
0

您也可以通過rename_node。如果驗證失敗,請致電:

$('#yourtreeid').jstree("refresh");