2014-09-02 55 views
0

這可能是一個荒謬的簡單問題,但我是JS新手。HTML SELECT JS onchange()禁用評論框

我想有一個SELECT框允許一個人指出他們聽到的事件他們正在註冊。將會有一個評論框,默認情況下是禁用的,但如果用戶在SELECT選項中選擇「其他」,評論框將變得可用。

我知道onchange(),但我不知道如何在單獨的表單元素中觸發響應。任何幫助?

+1

你可以在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

回答

1

可能是這樣的。

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

+1

如果該值不是其他值,則可以通過合併RobG的評論並將其禁用來簡化此操作。 @ comment(這個值==='other');' 小提琴:http://jsfiddle.net/znma9ctd/ – Anton 2014-09-03 00:30:33

+2

@Anton這是真的,但由於OP是JS的新手,我認爲,爲了直覺的緣故,可能會有所幫助。謝謝你。 – flowstoneknight 2014-09-03 00:37:46

+0

@flowstoneknight謝謝!我非常欣賞小提琴。 – Mark 2014-09-03 00:44:41

0

可能是這樣的。

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