2012-06-27 4 views
2

Итак, у меня есть 3 кнопки радио:JQuery проверяется на кнопку радио

<input type="radio" name="status" value="enabled" class="radio" <?php if($news_row['status']==1) echo 'checked'; ?> /> 
<input type="radio" name="status" value="disabled" class="radio" <?php if($news_row['status']==2) echo 'checked'; ?> /> 
<input type="radio" name="status" value="timer" class="radio" <?php if($news_row['status']==3) echo 'checked'; ?> /> 

И я пытаюсь проверить, если переключатель с таймером значение проверяется как так

if($('.radio [value=timer]').is(':checked')) { 
    console.log('timer'); 
} 

Но, очевидно, Я делаю что-то неправильно, так как этот код выше не работает. Итак, что это правильный способ сделать это? Использование .change()?

ответ

4

Demohttp://jsfiddle.net/m4m57/5/

выпуска был space здесь f ($('.radio [value=timer]').is(':checked')) {

        ^----------- 

Надеется, что это помогает,

коду

$('input').on('change', function() { 
    if ($('.radio[value=timer]').is(':checked')) { 
     alert('say what'); 
     console.log('timer'); 
    } 
});​ 
1

Удалить пространство:

if($('.radio[value=timer]').is(':checked')) { 
    console.log('timer'); 
} 

Вы имели место в .radio [value=timer], что означает другой селектор, например, это означало select all elements with value attribute set inside an element with class radio at any nested level

Удаление пространства означает select all elements with class radio AND value attribute set

Смежные вопросы