2013-02-09 6 views
7

Meine jstree-Funktion ist hier.
Ich habe 'select_limit' : 3 eingestellt, aber funktioniert nicht. Wenn ich laufe, kann ich mehr als 3 Knoten auswählen, aber ich muss nicht mehr als 3 Knoten auswählen.jstree select_limit funktioniert nicht. Ich möchte Auswahllimit setzen, um nur 3 Knoten auszuwählen

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

was j1 Sie verwenden? – rafi

+1

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

+1

Ihr Code scheint in Ordnung zu sein. kannst du das in jsfiddle erstellen? das wäre hilfreich. – rafi

Antwort

8

select_limit doens't Griff Checkbox müssen Sie Ihre eigene before.jstree Methode rollen.

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

Beachten Sie, dass dieser Code nur, wenn zum Beispiel, und nicht untergeordneten Knoten nicht verarbeitet

Arbeits Geige: http://jsfiddle.net/cfb9J/1/

+1

aber was ist mit select_limit @Rodrigo Assis? –

0

Es gibt eine andere Option fehlt, wahrscheinlich das UI-Modul hinzufügen müssen, versuchen Sie dies:

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

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

Ich habe diese Zeile "plugins" bereits hinzugefügt: ["themes", "html_data", "ui", "crrm", "checkbox"], müssen Sie meinen Code ändern? –

+2

Versuchen Sie es zuerst hinzuzufügen. Verstand, ein jfiddle zu verursachen? – luckystars

+1

Entschuldigung, ich habe den Code geändert, aber immer noch nicht funktioniert ... –