2013-05-14 107 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