2016-06-13 192 views
0

如果有拼寫錯誤,我是德語。如何在選擇列表中選擇單選按鈕

我的網站的用戶應該說,他是哪一類學校。 由於有可能他不再上學,我有一個單選按鈕。 他說,他是否去上學與否:

<h2>Are you in school?</h2><br> 
<input type="Radio" name="ClassRadio" value="No">I'm not any more in school.<br> 
<input type="Radio" name="ClassRadio" value="Yes">Yes, in class 

而這裏的問題:在「類」應該來選擇列表與1,2,3,等
但是,如果我讓這個名單

<select name="KlasseOption" size="1"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    etc. 
</select> 

您可以選擇在選擇列表中的一個選項,無論單選按鈕值「是」或「no」表示是否被按下。
但是,如果按下單選按鈕值「是」,則應該只能更改選擇列表。
如果按下單選按鈕值「否」,則沒有人應該能夠將其從默認的「 - 」更改。

回答

0

我正在使用jQuery更簡單的解決方案。

的CSS溶液(僅用於現代瀏覽器)

select { 
 
    opacity:0.5; 
 
    pointer-events:none; 
 
} 
 

 
#radio2:checked ~ select { 
 
    opacity:1; 
 
    pointer-events:initial; 
 
}
<h2>Are you in school?</h2><br> 
 
<input id="radio1" type="Radio" name="ClassRadio" value="No"><label for="radio1">I'm not any more in school.</label><br> 
 
<input id="radio2" type="Radio" name="ClassRadio" value="Yes" class="yes"><label for="radio2">Yes, in class</label> 
 

 
<select name="KlasseOption" size="1"> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    etc. 
 
</select>

普通(JavaScript的)橫瀏覽器溶液

邏輯:

當用戶檢查一個單選按鈕時,你檢查它是否有.yes類(我添加了它)。如果是這樣,我使用prop函數啓用下拉菜單。

$(function(){ 
 
    $('input').change(function() { 
 
    $('[name=KlasseOption]').prop('disabled', !$(this).is('.yes')); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h2>Are you in school?</h2><br> 
 
<label><input type="Radio" name="ClassRadio" value="No">I'm not any more in school.</label><br> 
 
<label><input type="Radio" name="ClassRadio" value="Yes" class="yes">Yes, in class</label> 
 

 
<select name="KlasseOption" size="1" disabled> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    etc. 
 
</select>

+0

謝謝,它的工作原理! – Korne127

+0

最後一個問題:是否有可能(在CSS代碼中),如果有人點擊第一個值「是」,選擇一個類,並點擊值「否」,該類將重置爲deaufault(例如「 「) – Korne127

+0

沒有沒有JavaScript。 –

0

您可以使用簡單的JavaScript來實現。只需檢查值是否已更改,然後禁用或啓用選擇標記。

+0

1.你能WITE一個簡單的測試代碼?我是一個初學者 – Korne127

+0

2.有沒有可能使這沒有javascript? – Korne127

+0

我可以編寫測試代碼,但是您尋找非javascript解決方案的具體原因是什麼? –