2013-05-14 90 views
0

我有3個單選按鈕和3個按鈕,每個按鈕都屬於1個單選按鈕。我希望僅在按下相應的單選按鈕時啓用按鈕。功能「按鈕被禁用」

我的代碼工作,但只有當我第一次點擊一個單選按鈕,從而啓動該功能。我怎樣才能使這個功能正常工作,以便從一開始就禁用一些按鈕?

功能看起來像這樣

$("input:radio[name=Kartenthema]").change(function() {   
     if (this.value == "Geburtenrate") { 
     $("#karte_id").attr('src', 'kantone_interaktiv_geburten.svg'); 
     $("#legende_id").attr('src', 'Legenden/GebLegende.PNG'); 
     $("input[name=button1]").attr("disabled", true); 
     $("input[name=button1]").addClass("disabledClass"); 
     $("input[name=button2]").attr("disabled", false); 
     $("input[name=button2]:enabled").removeClass("disabledClass"); 
     $("input[name=button3]").attr("disabled", true); 
     $("input[name=button3]:disabled").addClass("disabledClass"); 
     } else if (this.value == "Sterberate") { 
     $("#karte_id").attr('src', 'kantone_interaktiv_sterbe.svg'); 
     $("#legende_id").attr('src', 'Legenden/SterbLegende.PNG'); 
     $("input[name=button1]").attr("disabled", true); 
     $("input[name=button1]:disabled").addClass("disabledClass"); 
     $("input[name=button2]").attr("disabled", true); 
     $("input[name=button2]:disabled").addClass("disabledClass"); 
     $("input[name=button3]").attr("disabled", false); 
     $("input[name=button3]:enabled").removeClass("disabledClass"); 
     } else if(this.value == "Wanderung") { 
     $("#karte_id").attr('src', 'kantone_interaktiv_wanderung.svg'); 
     $("#legende_id").attr('src', 'Legenden/WandLegende.PNG'); 
     $("input[name=button1]").attr("disabled", false); 
     $("input[name=button1]:enabled").removeClass("disabledClass"); 
     $("input[name=button2]").attr("disabled", true); 
     $("input[name=button2]:disabled").addClass("disabledClass"); 
     $("input[name=button3]").attr("disabled", true); 
     $("input[name=button3]:disabled").addClass("disabledClass")        
     } 
} 

和無線電按鈕/按鍵看起來像這樣:

<embed id="legende_id" src="Legenden/GebLegende.PNG" width="180" height="230" style="margin-left:30px" type="image/PNG" /> 
<h3> 
    <input type="radio" class="Radio" name="Kartenthema" value="Geburtenrate" checked="ckecked">Geburtenziffer 
    <input type="button" class="Button" name="button2" value="Animation" onclick="location.href='animation_geburten.html'"> 
    <h3> 
     <input type="radio" class="Radio" name="Kartenthema" value="Sterberate">Mortalität 
     <input type="button" disabled="disabled" class="Button" name="button3" value="Animation" onclick="location.href='animation_mortalität.html'"> 
     <h3> 
      <input type="radio" class="Radio" name="Kartenthema" value="Wanderung">Interkantonale Wanderung 
      <input type="button" class="Button" name="button4" value="Animation" onclick="location.href='animation_wanderung.html'"> 
      <br> 
       <br> 
       <input type="button" class="Button" name="button1" value="Kartogramm" onclick="location.href='kartogramm.html'" /> 
       </br> 
      </br> 
      </input></input> 
     </h3> 
     </input></input> 
    </h3> 
    </input></input> 
</h3> 

我知道我可以輸入型後放一個殘疾人,但隨後的風格沒有按從啓用變爲禁用。

回答

0
​​

改變這一行,並在接下來的2行類似這樣:

if ($(this).val() == "Geburtenrate") { 
+0

變化$( 「輸入:無線​​電[名稱= Kartenthema]」)改變(函數(){ 爲$( 「輸入:無線​​電[名稱= Kartenthema]」) .click(function(){ – 2013-05-14 11:15:13

+0

我不確定問題是什麼,如果按鈕樣式正在改變,當你說「什麼都沒有發生」時,你指的是什麼? – 2013-05-14 11:53:31

+0

「沒有任何事」我的意思是代碼仍然 當我點擊單選按鈕時,風格發生了變化,但當我第一次打開主頁時,只有一種風格,當我點擊某個東西時,被禁用的按鈕只會改變它們的風格,但他們應該從一開始就看起來是殘疾的 對不起,我很難形容問題,因爲我沒有編碼知識,英語不是我的第一語言。謝謝你的耐心! – Bettina 2013-05-14 11:58:46

0

嘗試使用$("input[name=buttonN]").removeAttr("disabled")設置啓用控件。

0

沒問題。試着改變你的HTML代碼如下:

<h3> 
<input type="radio" class="Radio" name="Kartenthema" value="Geburtenrate" checked="ckecked">Geburtenziffer 
<input type="button" class="Button" name="button2" value="Animation" onclick="location.href='animation_geburten.html'" disabled="disabled"> 
</h3> 
<h3> 
<input type="radio" class="Radio" name="Kartenthema" value="Sterberate">Mortalität 
<input type="button" disabled="disabled" class="Button" name="button3" value="Animation" onclick="location.href='animation_mortalität.html'"> 
</h3> 
<h3> 
<input type="radio" class="Radio" name="Kartenthema" value="Wanderung">Interkantonale Wanderung 
<input type="button" class="Button" name="button4" value="Animation" onclick="location.href='animation_wanderung.html'" disabled="disabled"> 
<br> 
<br> 
<input type="button" class="Button" name="button1" value="Kartogramm" onclick="location.href='kartogramm.html'" disabled="disabled"> 
<br> 
<br> 
</h3> 
+0

我想唯一的問題是,風格不正確。現在,當我打開頁面時,按鈕被禁用,但它們仍然顯示爲啓用。風格僅在第一次點擊後發生變化。 – Bettina 2013-05-14 13:00:50

+0

每次頁面加載時,你想在每個按鈕上顯示「disabledClass」嗎?如果這就是你所需要的,只需在所有這些按鈕上將'class =「Button」'更改爲'class =「Button disabledClass」'。 – 2013-05-14 13:16:33

+0

是的!非常感謝!現在它完美並且正是我想要的:) – Bettina 2013-05-14 13:38:44