使用jquery从asp列表框中获取所选项目的计数

时间:2015-10-15 15:59:43

标签: javascript jquery asp.net listbox

我正在尝试使用jquery从asp列表框中获取所选项目的计数,但无法弄清楚如何执行此操作。这就是我现在的方式,但是我得到了#34;无法获得未定义或空引用的属性长度"在selectedOptions属性上。 var lb充满了 objectHtmlSelectElement,所以这似乎是正确的。

function CheckSelectionCount(sender, args) {
            var lb = document.getElementById(sender.controltovalidate);
            var count = lb.selectedOptions.length;
            args.IsValid = count >= 1 && count <= 5;
}

Many similar questions  使用选择器结合:selected属性来解决这个问题,但我认为我需要利用sender参数并将其存储在变量中。

我相信这对这里的专家来说很容易!提前致谢

1 个答案:

答案 0 :(得分:1)

jQuery获取计数

function CheckSelectionCount(sender, args) {
    var count = $("#" + sender.controltovalidate + " option:selected").length;
    args.IsValid = count >= 1 && count <= 5;
}

没有jQuery

function CheckSelectionCount(sender, args) {
    var lb = document.getElementById(sender.controltovalidate);
    var opts = lb.options;
    var count = 0;
    for(var i=0; i<opts.length; i++) {
        if(opts[i].selected) count++;
    }
    args.IsValid = count >= 1 && count <= 5;
}