Событие jQuery при изменении ()

У меня есть простая форма:

    <div class="class_a">
      <fieldset>
        <label><input type="radio" id="radio10" name="color" value="1" />Red</label><br />
        <label><input type="radio" name="color" value="2" />Yellow</label><br />    
        <label><input type="radio" name="color" value="3" />Blue</label><br />
        <label><input type="radio" name="color" value="4" />Purple</label><br />
      </fieldset>
     </div>
 <div class="block-cms">
       <fieldset>
        <label><input type="radio" name="time" value="6" />12</label><br />
        <label><input type="radio" name="time" value="7" />11</label><br />    
        <label><input type="radio" name="time" value="8" />10</label><br />
        <label><input type="radio" name="time" value="9" />9</label><br />
      </fieldset>
 </div>

То, что я пытаюсь сделать здесь, с помощью jQuery change () скрыть второй набор полей.

$("input#radio10").change(function () {
        var checked = true;
        checked = checked && $(this).is(':checked');
        if ($('input#radio10:checked') ) {
            $('.block-cms').show()
            } 
        else {
            $('.block-cms').hide();
        }
    }); 

Не уверен, что здесь не так. Может кто-нибудь предложить мне, что должно быть сделано иначе, пожалуйста?

Ответы на вопрос(3)

Прежде всего идентификатор элемента должен бытьradio10 и не#radio10.

Тогда используйте этот код

$("input[name='color']").change(function () {
    if ($('input#radio10').is(':checked') ) {
            $('.block-cms').show()
            }
        else {
            $('.block-cms').hide();
        }
    }); 

Вот еще одно решение (IMO, имеющий идентификатор на<input type="radio"> кажется мне немного нехорошим)

$("input[name='color']").change(function () {
        if ($(this).val() == 1) {
            $('.block-cms').show()
            } 
        else {
            $('.block-cms').hide();
        }
    }); 
Решение Вопроса

Вашid не должен иметь#вот это для селектора, должно быть простоid="radio10".

Измените это, и это то, что вы должны быть после:

$(".class_a :radio").change(function () {
  $(".block-cms").toggle($("#radio10:checked").length > 0);
}); 

Вы можете проверить это здесь.

 Nick Craver10 нояб. 2010 г., 11:23
@Dom - добро пожаловать!
 Nick Craver10 нояб. 2010 г., 11:11
@Dom - посмотрите демо, разве это не то, что вам нужно, показывать только когда выбран красный?
 Dom10 нояб. 2010 г., 11:10
Извините, это была простая опечатка. Но все равно не работает.

Ваш ответ на вопрос