将函数应用于两个ID

时间:2013-10-14 10:03:08

标签: javascript

我有以下功能:

<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

并对此进行了一些修改,但未能使其正常运行。

4 个答案:

答案 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>