8 votes

jstree select_limit ne fonctionne pas. Je veux définir la limite de sélection pour ne sélectionner que 3 nœuds.

Ma fonction jstree est ici.
J'ai mis 'select_limit' : 3 Lorsque je l'exécute, je suis en mesure de sélectionner plus de 3 nœuds, mais j'ai besoin de ne pas sélectionner plus de 3 nœuds.

     var j1 = jQuery.noConflict();
     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
        }
    });

8voto

Rodrigo Siqueira Points 1134

select_limit ne gère pas les cases à cocher, vous devez utiliser votre propre système. before.jstree méthode.

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

Notez que ce code n'est qu'un exemple et qu'il ne gère pas les noeuds enfants.

Violon de travail : http://jsfiddle.net/cfb9J/1/

0voto

luckystars Points 934

Il manque une autre option, il faut probablement ajouter le module ui, essayez ceci :

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

 //the rest of your code
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X