javascript - 如何使用 JS 选择一个选择框的选项值?
问题描述
这听起来很容易,但我一直在努力让它发挥作用。有人请帮忙。我的选择框如下所示。如何从列表中选择值 3?
if(!empty($listeDoc))
{
$iGroups = 0;
while($iGroups < count($listeDoc))
{
?>
<tr>
<td>
<input type="checkbox" name="productSelect[<?php echo $listeDoc[$iGroups]->DOC_CLIENT_ID ?>]['product_id']" id="productSelectCreation_<?php echo $listeDoc[$iGroups]->DOC_CLIENT_ID ?>" onchange="setValueToOne(this)" ><?php echo $listeDoc[$iGroups]->DOC_CLIENT_NOM; ?>
</td>
<td>
<select name="productSelect[<?php echo $listeDoc[$iGroups]->DOC_CLIENT_ID ?>]['quantity']" id="productQty_<?php echo $listeDoc[$iGroups]->DOC_CLIENT_ID ?>" class="form-control1" value="<?php echo $qty; ?>" style="width:100%; height:25px; border : #62270c solid 1px;" tabindex="1">
<option value=""/></option>
<option value="1"<?php if ($qty == 1) echo 'selected="selected"'; ?>>1</option>
<option value="2"<?php if ($qty == 2) echo 'selected="selected"'; ?>>2</option>
<option value="3"<?php if ($qty == 3) echo 'selected="selected"'; ?>>3</option>
<option value="4"<?php if ($qty == 4) echo 'selected="selected"'; ?>>4</option>
<option value="5"<?php if ($qty == 5) echo 'selected="selected"'; ?>>5</option>
</select>
<td>
</tr>
<?php
$iGroups++;
}
}
这是我尝试过的:
function setValueToOne(value) { checkbox = document.getElementById('productSelectCreation');
if (checkbox.checked == true)
{
document.getElementById("productQtyCreation").value = 1;
}
else
document.getElementById("productQtyCreation").value = '0';
}
解决方案
如果我理解正确,您想使用 vanilla javascript 更改选择框选择的选项。您将需要循环选择框并比较值。
document.getElementById('productSelectCreation').onclick = function() {
var val;
var checkbox = document.getElementById('productSelectCreation');
var sel = document.getElementById('productQtyCreation');
if (checkbox.checked)
{
val = "3";
}
else
val = "0";
}
var opts = sel.options;
for (var opt, j = 0; opt = opts[j]; j++) {
if (opt.value == val) {
sel.selectedIndex = j;
break;
}
}
}
推荐阅读
- flutter - 从多个 Widget/State 调用的公共类/函数
- javascript - 如何比较两个对象数组以查看它们是否具有相同的 id,然后从匹配的对象返回另一个值?
- vb.net - 自己的文件类型:获取调用文件的名称
- mysql - 在 Sql 中将 Bigint 数据转换为人类可读的日期时间
- grpc - 使用 Python 编译 Jaeger gRPC proto 文件
- windows - 具有多个通配符的非递归文件移动
- c# - .Net Core Identity Framework 通过声明获取用户
- jquery - 通过fancytree库重新加载时如何停止自动滚动?
- r - 堆叠模型上的 ROCR 曲线
- javascript - Ajax,传递已经编码的值