2013-07-11 11 views
13

ここをクリックしてください: http://jsfiddle.net/nShQs/無効にしたチェックボックスを有効にするにはどうすればいいですか?

無効ボタンと有効化ボタンを押してください。チェックボックスが有効になりません。

HTML:

<input id="check" type="checkbox"/> 
<input id="btn1" type="button" value="enable" /> 
<input id="btn2" type="button" value="disable" /> 

JS:

function enable() { 
    var x = document.getElementById("check"); 
    alert(x.getAttribute("disabled")); 
    x.setAttribute("disabled", "false"); 
    alert(x.getAttribute("disabled")); 
} 

function disable() { 
    var x = document.getElementById("check"); 
    alert(x.getAttribute("disabled")); 
    x.setAttribute("disabled", "true"); 
    alert(x.getAttribute("disabled")); 
} 
document.getElementById("btn1").addEventListener("click", enable); 
document.getElementById("btn2").addEventListener("click", disable); 

答えの答えとして

disabled属性は論理属性ですので、それは言います。 hereを参照してください。これにより

function enable() { 
    document.getElementById("check").disabled= false; 

} 

function disable() { 
    document.getElementById("check").disabled= true; 
} 

を行う属性disabledの属性のプレゼンスを設定すると、チェックボックスを無効にする一方

+1

私はPSLの答えを選びました。 – batman

答えて

21

はちょうどあなたは、DOM要素のプロパティを設定しているので、あなたがx.setAttribute("disabled", "false");を行う場合でも、それはまだ上があるだろう属性としての要素

Demo

またはあなただけだろう:プロパティとして

function disable() { 
    document.getElementById("check").setAttribute('disabled', 'disabled'); 
} 

function enable() { 
    document.getElementById("check").removeAttribute('disabled'); 
} 

属性としてdisableddisabledを異なっています。

+0

これは私がやったこととどう違うのですか? – batman

+0

@learnerあなたはfunctoinとしてそれを使いました、それは1つではありません –

+0

@learner答えを見て、私は説明を与えました。 – PSL

6

設定しdisabledプロパティではなく、属性fiddle)。その値に関係なく(fiddle)の - disabled属性はすべてで存在する場合

function enable() { 
    document.getElementById("check").disabled = false;  
} 

function disable() { 
    document.getElementById("check").disabled = true; 
} 

制御は無効のままです。 disabledプロパティをfalseに設定すると、disabled属性が削除されます。彼は第一に答えため

関連する問題