2013-02-09 5 views
7

私のjstree機能はここにあります。
私は'select_limit' : 3を設定しましたが、動作していません。私が走ると、3つ以上のノードを選択することができますが、3つ以下のノードを選択する必要があります。jstree select_limitが機能しません。私は3つのノードだけを選択するように選択制限を設定したい

j1("#utree_activity").jstree({ 
     "plugins": ["themes", "html_data", "ui", "crrm", "checkbox"], 
     "html_data": { 
      "ajax": { 
       "url": urlGlobal + "jstrees/activitytree/", 
       "asynchronous": "false", 
       "data": function (n) { 

        return { 
         id: n.attr ? n.attr("id") : 0, 
         default_activities: default_activities 
        }; 
       }, 
       "success": function (gb) { 

       }, 

      } 
     }, 
     "ui": { 
      "select_limit": 3, 
     }, 

     "cookies": { 
      cookie_options: { 
       path: "/" 
      } 
     }, 

     "checkbox": { 
      two_state: true, 
      real_checkboxes: false 
     } 
    }); 
+1

を? – rafi

+1

@rafi_ccj 'var j1 = jQuery.noConflict();' –

+1

あなたのコードは大丈夫です。あなたはjsfiddleでこれを作成できますか?それは助けになるだろう。 – rafi

答えて

8

select_limit doens'tハンドルのチェックボックスあなた自身before.jstree方法をロールしなければなりません。

j1.bind("before.jstree", function (e, data) { 
    if (data.func === "check_node") { 
     if (j1.jstree('get_checked').length >= 1) { 
      e.preventDefault(); 
      return false;     
     } 
    } 
}); 

なお、例えばのみ、作業フィドル子ノード

を処理していない場合は、このコード:あなたはJ1を何を使用しているされてhttp://jsfiddle.net/cfb9J/1/

+1

しかし、select_limit @ Rodrigo Assisについてはどうですか? –

0

は、おそらくUIモジュールを追加する必要があり、不足している別のオプションがあり、これを試してみてください。

j1("#utree_activity").jstree({ 
"plugins" : ["html_data","ui"], 

//the rest of your code 
}); 
+1

私は既にこのプラグインを追加しました:["themes"、 "html_data"、 "ui"、 "crrm"、 "checkbox"]、 私のコードを変更する必要がありますか? –

+2

最初に追加してみてください。 jsfiddleを作成する心ですか? – luckystars

+1

申し訳ありませんが、コードを変更しましたが、まだ動作していません... –

関連する問題