【问题标题】:Disable button using checkbox JavaScript使用复选框 JavaScript 禁用按钮
【发布时间】:2016-05-03 00:14:21
【问题描述】:

您好,我想在选中复选框时禁用两个按钮,但结果我必须在复选框中单击两次,希望有人可以帮助我。

谢谢。

var checker = document.getElementById('checkme');
var button = document.getElementById('button');
var button2 = document.getElementById('button2');

document.getElementById("button").disabled = true;
document.getElementById("button2").disabled = true;


checker.onchange = function() {

button.disabled !! this.checked;
button2.disabled !! this.checked;

};

【问题讨论】:

  • 复选框的默认状态是什么?

标签: javascript button checkbox


【解决方案1】:

您的代码错误。您必须将复选框状态分配给按钮:

var checker = document.getElementById('checkme');
var button = document.getElementById('button');
var button2 = document.getElementById('button2');

document.getElementById("button").disabled = true;
document.getElementById("button2").disabled = true;


checker.onchange = function() {

  button.disabled = !this.checked;
  button2.disabled = !this.checked;

};
<input type='checkbox' id='checkme' />
<button id='button'>Button 1</button>
<button id='button2'>Button 2</button>

【讨论】:

    【解决方案2】:

    只需使用此代码

    <input type="checkbox" id="checkme" onChange="state_change(this.checked)">
    <input type="button" id="button" value="button1">
    <input type="button" id="button2" value="button2">
    <script type="text/javascript">
    function state_change(check){
        document.getElementById('button').disabled = check;
        document.getElementById('button2').disabled = check;
    }
    </script>
    

    【讨论】:

      【解决方案3】:

      我建议在函数内部定义'button'和'button2',否则如果你在其他地方定义'button'可能会被覆盖。 您可以直接调用 onchange 函数,而不是手动初始化禁用状态,这将使对代码的可能修改更容易,您通常希望避免在多个地方使用相同的代码。

      var checker = document.getElementById('checkme');
      checker.onchange = function() {
      
        var button = document.getElementById('button');
        var button2 = document.getElementById('button2');
        
        button.disabled = !this.checked;
        button2.disabled = !this.checked;
      
      };
      
      checker.onchange();
      <input type="checkbox" id="checkme">
      <button id = "button">button</button>
      <button id = "button2">button2</button>

      【讨论】:

        【解决方案4】:

        哈哈哈谁说这个sendbtn2.disabled = !!this.checked; Hope this help you..

        为什么是a = !! b,因为!!= not not and = true,然后写a=b

        【讨论】:

          猜你喜欢
          • 2020-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-10-13
          • 1970-01-01
          • 1970-01-01
          • 2011-04-03
          相关资源
          最近更新 更多