我有一個可能的複選框列表,用戶最多可以選擇三個選項。我正在努力的是如何識別哪些盒子被檢查,然後將它們分配給變量(在稍後的ajax調用中發送)。到目前爲止,我寫的代碼似乎只是取前三個複選框的值,而不管它們是否被選中,並在我的ajax調用中使用。請幫我弄清楚我出錯的地方。將複選框值分配給變量
這裏是我的HTML:
<ul id="Names" class="stateNames">
<li>Alabama
<ul class="airports">
<li><input type="checkbox" class="destination"/> Birmingham, AL</li>
<li><input type="checkbox" class="destination"/> Huntsville, AL</li>
</ul>
<li>Alaska
<ul class="airports">
<li><input type="checkbox" class="destination"/> Anchorage, AK</li>
<li><input type="checkbox" class="destination"/> Fairbanks, AK</li>
<li><input type="checkbox" class="destination"/> Juneau, AK</li>
</ul>
</li>
</ul>
<input type="button" onclick="clickHandler()" value="Submit" />
這裏是我的JavaScript/jQuery的:
function clickHandler() {
endLocDest1 = "";
endLocDest2 = "";
endLocDest3 = "";
for(i = 0; i < document.getElementsByClassName('destination').length; i++) {
if (document.getElementsByClassName('destination')[i].checked) {
endLocDest1 = document.getElementsByClassName('destination')[0].value;
endLocDest2 = document.getElementsByClassName('destination')[1].value;
endLocDest3 = document.getElementsByClassName('destination')[2].value;
}
alert(endLocDest1 + endLocDest2 + endLocDest3);
};
}
我也把這個代碼放到一個小提琴http://jsfiddle.net/6ywm1n6h/3/(目前不返回任何東西)。
在此先感謝!
嘗試: var destBoxes = document.getElementsByClassName(「destination」);對於(i = 0; i
Jim
2014-12-02 20:29:42
是否每個州或總共有3個限制? – haim770 2014-12-02 20:32:59
@ haim770它是3 (可以是單個狀態,也可以是多個狀態) – Quinn 2014-12-02 21:12:35