Javascript函数根据选择选项的值选中一个框

Javascript function to check a box based on value of select option

本文关键字:一个 函数 选择 选项 Javascript      更新时间:2023-09-26

>我目前有一个javascript函数,如果选中复选框,它将选择选项更改为1。 我似乎无法弄清楚的是,如果用户未能勾选复选框并且只是从选择下拉列表中选择一个值(0 除外),如何自动选中该框。 该脚本具有使用 php 数组值生成的 ID 和名称。

感谢您抽出宝贵时间查看本文。

function quantityChangeHandler(source) {
    var qtyElem = document.getElementById(source.getAttribute('rel'));
    if (source.checked) {
        if (qtyElem.value == 0)
            qtyElem.value = 1;
        }
    else 
            qtyElem.value = 0;
}
<input type="checkbox" onclick="quantityChangeHandler(this)" 
name="prodid[<?php echo $prodid;?>][]" rel="prodqty_<?php echo $prodid . '_' . $contactid; ?>" 
value="<?php echo $contactid; ?>" /><br />
Qty
<select id="prodqty_<?php echo $prodid . '_' . $contactid; ?>"
name="prodqty[<?php echo $prodid; ?>][<?php echo $contactid; ?>]">
    <option value="0">0</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

您应该向 select 标记添加类似的处理程序和 rel 属性,并根据 select 元素的值设置source.checked

将此添加到您的 Javascript 中:

function selectChangeHandler(source) {
    var checkboxElem = document.getElementById(source.getAttribute('rel'));
    checkboxElem.checked = source.value != 0;
}

对 HTML 的更改示例:

<input id="checkbox_0" ... />
...
<select ... rel="checkbox_0" onchange="selectChangeHandler(this)">
...

工作 JSFiddle

据我了解,手动触发复选框选择是通过触发单击事件。

假设您复选框 ID ="mychkbox"

然后使用 jQuery,你可以通过 $('#mychkbox').trigger('click');

这将使选中的复选框处于选中状态。

以及复选框是否选中的检查条件。