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

Я знаю, что я могу поставить неработающий после входного типа, но тогда стиля Безразлично 't перейти от включенного к отключенному.

ответ

0
if (this.value == "Geburtenrate") { 

Изменить эту строку и следующие 2 схожие линии к этому:

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

Изменить $. ("Вход: радио [имя = Kartenthema]") изменить (функция() { до $ ("вход: радио [имя = Kartenthema]") .click (function() { –

+0

Я не уверен, в чем проблема, если стили кнопок меняются, что именно вы имеете в виду, когда говорите «ничего не случилось»? –

+0

«Ничего не случилось» Я имею в виду код не работает, как я хочу. Стили меняются, когда я нажимаю на кнопки «Радио», но при первом открытии главной страницы есть только один стиль. Кнопки с отключенным только меняют свой стиль, когда я нажимаю на что-то, но они должны выглядеть отключенными с самого начала. Извините, мне очень сложно описать p roblem, так как у меня нет знаний по кодированию, а английский - не мой первый язык. Спасибо за ваше терпение! – Bettina

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

+0

Вы хотите, чтобы «disabledClass» на каждой кнопке каждый раз, когда загружалась страница? Если это то, что вам нужно, просто измените 'class =" кнопку "' на 'class =" кнопку disabledClass "на всех этих кнопках. –

+0

ДА! Спасибо огромное! Теперь он работает отлично и просто, как я хотел :) – Bettina