2011-03-03 31 views
1

的我有兩個單選按鈕的一種形式:的Javascript收到onmousedown事件禁用選擇標籤

[radio1] [radio2] [select] 

<input type="radio" id="radio1" name="radio" checked/> 
<br/> 
<input type="radio" id="radio2" name="radio"/> 
<select id="select" onmousedown="test()" disabled="disabled"> 
    <option>aaa</option> 
    <option>bbb</option> 
</select> 

所需的行爲方式是,當收音機1被選中,則選擇框被禁用。 當radio2被打勾時,用戶可以從選擇框中選擇一些東西(因此被啓用)。

我在radio1和radio2中有必要的事件代碼來處理啓用/禁用選擇框,它很好地工作。

不過,我希望有一個額外的問題:我點擊選擇框,第二廣播電臺應選中並啓用選擇框:

function test(){ 
    document.getElementById('radio1').checked=false; 
    document.getElementById('radio2').checked=true; 
    document.getElementById('select').disabled=false; 
} 

然而,test()不會被調用,而選擇框被禁用。 是否有其他的事件要做?

另一種解決方案是在選擇框上放置一個透明覆蓋層來處理事件(並在啓用選擇框時隱藏它)。

回答

1

我認爲這是預期的。禁用的輸入元素不響應鼠標(和其他)事件。您可以嘗試使用疊加解決方案 - 即使選擇被禁用,它也應該可以工作。