這可能是一個荒謬的簡單問題,但我是JS新手。HTML SELECT JS onchange()禁用評論框
我想有一個SELECT框允許一個人指出他們聽到的事件他們正在註冊。將會有一個評論框,默認情況下是禁用的,但如果用戶在SELECT選項中選擇「其他」,評論框將變得可用。
我知道onchange(),但我不知道如何在單獨的表單元素中觸發響應。任何幫助?
這可能是一個荒謬的簡單問題,但我是JS新手。HTML SELECT JS onchange()禁用評論框
我想有一個SELECT框允許一個人指出他們聽到的事件他們正在註冊。將會有一個評論框,默認情況下是禁用的,但如果用戶在SELECT選項中選擇「其他」,評論框將變得可用。
我知道onchange(),但我不知道如何在單獨的表單元素中觸發響應。任何幫助?
可能是這樣的。
HTML:
<select id="menu">
<option value="0">News</option>
<option value="1">Friends</option>
<option value="2">Other</option>
</select>
<input id="comment" type="textbox" disabled="true"/>
JS:
document.getElementById('menu').addEventListener('change', function() {
if (this.value == 2) {
document.getElementById('comment').disabled = false;
} else {
document.getElementById('comment').disabled = true;
}
});
這裏有一個fiddle。
如果該值不是其他值,則可以通過合併RobG的評論並將其禁用來簡化此操作。 @ comment(這個值==='other');' 小提琴:http://jsfiddle.net/znma9ctd/ – Anton 2014-09-03 00:30:33
@Anton這是真的,但由於OP是JS的新手,我認爲,爲了直覺的緣故,可能會有所幫助。謝謝你。 – flowstoneknight 2014-09-03 00:37:46
@flowstoneknight謝謝!我非常欣賞小提琴。 – Mark 2014-09-03 00:44:41
可能是這樣的。
HTML:
<select id="IDE">
<option value="0">Xcode</option>
<option value="1">Android Studio</option>
<option value="2">Others</option>
</select>
<input id="comment_box" type="textbox" disabled="true"/>
JS:
document.getElementById('IDE').addEventListener('change', function() {
if (this.value == 2) {
document.getElementById('comment_box').disabled = false;
} else {
document.getElementById('comment_box').disabled = true;
}
});
這裏有一個fiddle。
你可以在select中添加一個[* change * listener](https://developer.mozilla.org/en/docs/Web/API/Event),如果值是「Other」(或者任何值的選項是)將相關文本區域的禁用屬性設置爲* false *,例如如下所示:'this.form.textAreaName.disabled =!(this.value =='Other');'。 – RobG 2014-09-02 23:35:09