Javascript函数根据select选项的值检查一个框

时间:2013-09-22 08:38:37

标签: javascript php

我目前有一个javascript函数,如果选中复选框,则会将select选项更改为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>

2 个答案:

答案 0 :(得分:0)

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

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

Working JSFiddle

答案 1 :(得分:0)

根据我的理解手动触发复选框选择是通过触发点击事件。

说你复选框id =“mychkbox”

然后使用jquery你可以通过$('#mychkbox')。触发器('click');

这使得选中了复选框。

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