0
我有一個窗體,我需要讓用戶選擇最多2複選框的問題,然後它不會讓你選擇另一個,直到你先取消選擇一個我已經得到這個工作在這裏https://jsfiddle.net/Ly1h825h/窗體多個複選框,有多少可以選擇的限制
但是,當表單是選擇我不能夠得到的值被打勾,因爲複選框的名稱是相同的,否則JavaScript會不行。因此,當我在名稱上添加方括號以使其成爲選項[]時,可以選中複選框的最大限制,即可以選擇全部4.您可以在此示例中看到這些。 https://jsfiddle.net/9tnwz8j2/
任何人都可以看到一種方法來解決這個問題或什麼是做錯了嗎?
<form name="addtobasket50" id="addtobasket50" method="post" enctype="multipart/form-data" action="cart.php">
<label for="12345" id="select12345" class="inpSelect"><input type="checkbox" name="option[]" value="12345" id="12345" class="bundleChk" /> Select</label>
<label for="12346" id="select12346" class="inpSelect"><input type="checkbox" name="option[]" value="12346" id="12346" class="bundleChk" /> Select</label>
<label for="12347" id="select12347" class="inpSelect"><input type="checkbox" name="option[]" value="12347" id="12347" class="bundleChk" /> Select</label>
<label for="12348" id="select12348" class="inpSelect"><input type="checkbox" name="option[]" value="12348" id="12348" class="bundleChk" /> Select</label>
</form>
<script type="text/javascript">
function checkboxlimit(checkgroup, limit, bundleID){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount==limit) {
document.getElementById('cart'+bundleID).disabled = false;
}
if (checkedcount>limit){
//var prodID = this.checked.value;
//alert(document.getElementsByName("option").checked);
this.checked=false
}
}
}
}
<script>
<script type="text/javascript">
checkboxlimit(document.forms.addtobasket50.option[], 2,50)
<script>
在此先感謝 舒卡
呃......有一件事,你不要沒有你的函數在'