Javascript 可选择限位器

Javascript 可选择限位器,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我试图使这个可选脚本具有选择限制。我希望它停止选择时,选择的限制超过了限制数字4 谢谢你好的,现在我明白了你的要求,这一条应该满足你的要求。从停止更改为可选择意味着您可以在“选择”之前决定,而不是在“选择”之后决定何时触发停止 这很有效 $( "#selectable" ).selectable({ selecting: function(event, ui) { if ($(".ui-selected, .ui-selecting").length > 4)

我试图使这个可选脚本具有选择限制。我希望它停止选择时,选择的限制超过了限制数字4


谢谢你

好的,现在我明白了你的要求,这一条应该满足你的要求。从停止更改为可选择意味着您可以在“选择”之前决定,而不是在“选择”之后决定何时触发停止

这很有效

$( "#selectable" ).selectable({
    selecting: function(event, ui) {
         if ($(".ui-selected, .ui-selecting").length > 4) {
           $(ui.selecting).removeClass("ui-selecting");
         }
    }       
});
副本

编辑 像这样的

$(function() {
    $(".selectable").selectable({
        filter: "td.cs",

        // do not allow selecting more than four items
        selecting: function(event, ui) {
             if ($(".ui-selected, .ui-selecting").length > 4) {
               $(ui.selecting).removeClass("ui-selecting");
             }
        }               

        // do whatever you like with the selected
        stop: function() {
            var result = $("#select-result").empty();
            var result2 = $("#result2");            

            $('#divmsg').html($(".ui-selected").length*2+ " box selected")

            $(".ui-selected", this).each(function() {
                var cabbage = this.id + ', ';
                result.append(cabbage);
            });

            var newInputResult = $('#select-result').text();
            newInputResult = newInputResult.substring(0, newInputResult.length - 1);
            result2.val(newInputResult);
        }
    });
});?

为什么有一个
长度*2
肯定会输出两倍的选择?我在尝试一些东西!!我想做的事情是在选择了限制后停止选择框。你知道怎么做吗?我是新手,我用这个脚本做了我需要的大部分事情。我的问题是:当我选择更多的tham 4时,是否可以停止选择框?好的,我以为你只是想删除它。事实上,我的错误我编辑了我的答案以反映这一点。我以前见过,但我可以设法将其添加到脚本中并使其工作!你能帮我用特定的脚本编辑吗?如果我写的没有帮助,请进一步描述这个问题
$(function() {
    $(".selectable").selectable({
        filter: "td.cs",

        // do not allow selecting more than four items
        selecting: function(event, ui) {
             if ($(".ui-selected, .ui-selecting").length > 4) {
               $(ui.selecting).removeClass("ui-selecting");
             }
        }               

        // do whatever you like with the selected
        stop: function() {
            var result = $("#select-result").empty();
            var result2 = $("#result2");            

            $('#divmsg').html($(".ui-selected").length*2+ " box selected")

            $(".ui-selected", this).each(function() {
                var cabbage = this.id + ', ';
                result.append(cabbage);
            });

            var newInputResult = $('#select-result').text();
            newInputResult = newInputResult.substring(0, newInputResult.length - 1);
            result2.val(newInputResult);
        }
    });
});?