gpt4 book ai didi

javascript - 无法检查 javascript 复选框数组元素是否被选中?

转载 作者:行者123 更新时间:2023-12-02 20:05:07 25 4
gpt4 key购买 nike

想要的是 - 当选中该复选框时,选项号为 no。选择列表中的 5 将被选中,当取消选中该复选框时,选项号为 5。 0 将在选择列表中被选中。

选择列表和复选框是在 php 代码中动态生成的,如下所示:

echo "<select name='coupons".$i."' id='coupons".$i."'>";
------- All Options --------
echo "</select>";


<input type='checkbox' name='myCheckbox[]' value='<?php echo $i."_".$row->id; ?>' onclick='setCCode("myCheckbox[]",<?php echo $i;?>)'>

-----------------------------------------------------------------------------

现在我自己解决了第二个要求......感谢大家的投入

刚刚在 for 循环checkAll() 中添加了以下行

setCCode(children[i],i+1);

JavaScript 函数:

function setCCode(checkbox_name,i) 
{
var form_object = document.getElementsByName(checkbox_name+"["+i+"]");
var selname = document.getElementsByName("coupons"+i)[0];

if(form_object.checked) {
selname.selectedIndex = 5;
}
else {
selname.selectedIndex = 0;
}
}

以上问题已解决......感谢大家

现在我需要做的是,当用户选中复选框以选择或取消选择表单上的所有动态生成的复选框时,上述逻辑应该起作用。

<input type='checkbox' name='checkall' onChange="checkAll(this, 'myCheckbox[]')">
<span class="chkall">Check / Uncheck All</span>

<input type='checkbox' name='myCheckbox[]' value='<?php echo $i."_".$row->id; ?>' onclick='setCCode(this,<?php echo $i;?>)'>

我用来选择/取消选择表单上所有复选框的 JavaScript 代码如下:

function checkAll(parent, field)
{
var children = document.getElementsByName(field);
var newValue = parent.checked;

for (i = 0; i < children.length; i++){
if (children[i].disabled == false) {
children[i].checked = newValue;
}
}
}

function setCCode(Sender,i)
{
document.getElementsByName("coupons"+i)[0].selectedIndex = Sender.checked ? 5 : 0;
}

最佳答案

getElementsByName 返回对象数组。将该行替换为:

var form_object = document.getElementsByName(checkbox_name+"["+i+"]")[0];

关于javascript - 无法检查 javascript 复选框数组元素是否被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7525044/

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