作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我有一个复选框,如果未选中,下拉列表将被禁用。在未选中的情况下,我可以添加哪一行来重置下拉列表?
<body onload="enable_dropdown(false);">
<form name="f1" method="post" onload="enable_dropdown(false);">
<input type="checkbox" name="others" onclick="enable_dropdown(this.checked)" >Others
<select id="that_select">
<option value="a">A</option>
<option value="b" selected>B</option>
<option value="c">C</option>
</select></form>
我的 JavaScript
function enable_dropdown(status)
{
status=!status;
document.f1.that_select.disabled = status;
}
最佳答案
取决于您所说的“重置下拉菜单”的含义。我理解您希望它重新选择初始值,对吗?
最简单的解决方案是将其添加到您的js中:
document.f1.that_select.value = "b";
更优雅的解决方案:
<form name="f1" method="post" onload="enable_dropdown(false);">
<input type="checkbox" name="others" onclick="enable_dropdown(this.checked)" >Others
<select id="that_select">
<option value="a">A</option>
<option value="b" selected data-default="true">B</option>
<option value="c">C</option>
</select>
</form>
JS:
function enable_dropdown(status)
{
var select = document.f1.that_select;
status = !status;
select.disabled = status;
for (var i = 0; i < select.children.length; ++i) {
if (select.children[i].dataset.default === "true") {
select.value = select.children[i].value;
break;
}
}
}
关于javascript - 使用复选框重置下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28165517/
我是一名优秀的程序员,十分优秀!