1

我目前有一个 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>
4

2 回答 2

0

您应该为标签添加类似的处理程序和rel属性,并根据元素的值进行设置。select source.checkedselect

将此添加到您的 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

于 2013-09-22T08:44:10.373 回答
0

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

说你复选框 id = "mychkbox"

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

这使得选中的复选框被选中。

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

于 2013-09-22T09:07:07.710 回答