我正在尝试使用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参数并将其存储在变量中。
我相信这对这里的专家来说很容易!提前致谢
答案 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;
}