gpt4 book ai didi

javascript - 形成多个复选框,限制可以选择的数量

转载 作者:行者123 更新时间:2023-12-02 16:11:29 25 4
gpt4 key购买 nike

我遇到一个表单问题,我需要让用户最多选择 2 个复选框,然后它不会让您选择另一个复选框,直到您先取消选择一个复选框,我已经在这里工作了 https://jsfiddle.net/Ly1h825h/

但是当选择表单时,我无法获取已勾选的值,因为复选框的名称相同,否则 javascript 将无法工作。因此,当我在名称上添加方括号使其变为 option[] 时,这打破了您可以选择的复选框的最大限制,即您可以选择所有 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>

提前致谢舒卡

最佳答案

当您使用点表示法访问属性时,属性名称必须是有效标识符,但 [] 不是有效标识符的一部分(括号用于索引数组和对象)。要引用名称不是标识符的属性,您必须使用数组表示法,并将属性名称作为文字字符串,因此它应该是:

checkboxlimit(document.forms.addtobasket50["option[]"], 2,50);

关于javascript - 形成多个复选框,限制可以选择的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30132703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com