2016-01-26 82 views
1

你好我想禁用兩個按鈕時,複選框被選中,但對於它的結果我必須在複選框中點擊兩次希望有人可以幫助我。使用複選框禁用按鈕JavaScript

謝謝。

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; 

}; 
+0

複選框的默認狀態是什麼? –

回答

1

只需使用此代碼

<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> 
+0

謝謝你,它簡化了我的代碼,它的工作原理。 –

2

您的代碼是錯誤的。你必須複選框狀態指派給按鈕:

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>

0

我建議定義「按鈕」,並在函數內部「按鈕2」,否則它如果您在其他地方定義「按鈕」,則可能會被覆蓋。 而不是手動初始化禁用狀態,您可以直接調用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>

0

哈哈哈誰這樣說sendbtn2.disabled = !!this.checked; Hope this help you.

爲什麼a = !! b因爲!! = not not和= true,然後寫a=b

相關問題