我有以下功能:
<script> function setFries(){
var el = document.getElementById("burger");
if(el.checked)
document.getElementById("opt1").disabled = false;
else
document.getElementById("opt1").disabled = true; } </script>
如果选择了收音机,这会使选择框变为未选中状态。
我有另一个选择框,我想成为两个,ID为“opt2”的
如何将其添加到上述功能中。
我试过了:
document.getElementById("opt1").disabled && document.getElementById("opt2").disabled
并对此进行了一些修改,但未能使其正常运行。
答案 0 :(得分:3)
就像那样?
function setFries() {
var el = document.getElementById("burger");
if (el.checked) {
document.getElementById("opt1").disabled = false;
document.getElementById("opt2").disabled = false;
} else {
document.getElementById("opt1").disabled = true;
document.getElementById("opt2").disabled = true;
}
}
答案 1 :(得分:3)
<script>
function setFries(){
var el = document.getElementById("burger");
document.getElementById("opt1").disabled = document.getElementById("opt2").disabled = !e1.checked;
</script>
清洁&amp;优雅。
答案 2 :(得分:1)
function setFries(){
var el = document.getElementById("burger");
document.getElementById("opt1").disabled =document.getElementById("opt2").disabled= !el.checked;
}
但是,更好的方法是为两者分配相同的CSS类并根据类进行更改。 例如:
function setFries(){
var el = document.getElementById("burger");
document.getElementsByClassName('yourCommonClassName').disabled = !el.checked;
}
答案 3 :(得分:1)
目前,您对if和else分支的操作是单个语句。您需要将它们转换为块,以便在条件为真或假时执行更多操作:
if (...) { // notice the brackets
// action 1
// action 2
} else {
// action 3
// action 4
}
a && b
是一个逻辑操作。你不需要那个。要执行两个操作,只需一个接一个地编写它们:
document.getElementById("opt1").disabled = false;
document.getElementById("opt2").disabled = false;
最后,您可以像使用汉堡包一样提取变量中的元素,因此代码更易于阅读。
完整示例:
<script>
function setFries(){
var el = document.getElementById("burger");
var opt1 = document.getElementById("opt1");
var opt2 = document.getElementById("opt2");
if(el.checked) {
opt1.disabled = false;
opt2.disabled = false;
} else {
opt1.disabled = true;
opt2.disabled = true;
}
</script>