我目前有一个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>
答案 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)">
...
答案 1 :(得分:0)
根据我的理解手动触发复选框选择是通过触发点击事件。
说你复选框id =“mychkbox”
然后使用jquery你可以通过$('#mychkbox')。触发器('click');
这使得选中了复选框。
以及是否选中了复选框的检查条件。