2013-02-09 60 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

什么J1使用的是? – rafi 2013-04-09 09:04:53

+1

@rafi_ccj'var j1 = jQuery.noConflict();' – 2013-04-09 10:58:54

+1

你的代码似乎没问题。你可以在jsfiddle中创建这个吗?这会有所帮助。 – rafi 2013-04-09 12:09:16

回答

8

select_limit好好尝试一下手柄复选框,则必须将自己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;     
     } 
    } 
}); 

请注意,此代码,如果仅举例来说,并没有处理子节点

工作小提琴:http://jsfiddle.net/cfb9J/1/

+1

但是select_limit @Rodrigo Assis呢? – 2013-08-19 10:26:38

0

还有另一种选择失踪,可能需要添加UI模块,试试这个:

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

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

我已经添加了这行“plugins”:[“themes”,“html_data”,“ui”,“crrm”,“checkbox”], 需要更改我的代码? – 2013-02-09 06:02:53

+2

尝试首先添加它。介意创建一个jsfiddle? – luckystars 2013-02-09 06:25:38

+1

对不起,我更改了代码,但仍然无法正常工作... – 2013-02-09 07:22:53

相关问题