2015-10-15 71 views
0

我想從使用jquery的asp列表框中選擇項目的計數,但無法弄清楚如何做到這一點。這是我現在的樣子,但是我在selectedOptions屬性上得到「無法獲取未定義或空引用的屬性長度」。 var lb填充 objectHtmlSelectElement,這樣看起來是正確的。使用jQuery獲取從asp列表框中選擇項目的計數

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

Many similar questions 糾正這種使用選擇與組合:選定的屬性,但我想我需要利用發件人參數,並將它存儲在一個變量。

我相信這對專家來說很簡單!在此先感謝

+0

我沒有看到jQuery的存在。錯誤意味着'selectedOptions'是未定義的。你在哪裏設置它? – epascarello

+0

現在你改變了它,JavaScript中沒有selectedOptions用於選擇。因此未定義。 – epascarello

+0

http://stackoverflow.com/questions/5866169/getting-all-selected-values-of-a-multiple-select-box-when-clicking-on-a-button-u – epascarello

回答

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; 
} 
+0

補救它。對不起,如果我的措辭令人困惑,我常常不知道如何用最好的詞來描述問題。 – wizloc

相關問題