2015-12-15 3 views
-1

Это переключательJQuery с помощью .val() для проверки кнопки

<label>Bug Type</label> 
<label class="radio-inline"><input type="radio" name="bugtype2" value="Defect">Defect</label> 
<label class="radio-inline"><input type="radio" name="bugtype2" value="Issue">Issue</label> 

У меня есть переменная

var bugtype=$("#aa5").html(); 
alert(bugtype); 

Когда я предупрежу его, я получаю значение

Defect 

Я использую код

$("input:radio[name=bugtype2]:checked").val(bugtype); 

но не проверяет кнопку радио Дефекта, но значение вара bugtype то же самое со значением кнопки радио bugtype2

+5

Что такое 'aa5'? И код '$ (" input: radio [name = bugtype2]: checked ")' кажется, что радиокнопка уже проверена. Я смущен этим вопросом. – AtheistP3ace

+0

Чего вы хотите достичь? Вы хотите узнать, какая кнопка активна? –

+0

Что я хочу для имени кнопки радио = bugtype2 для проверки значения в зависимости от значения val (bugtype) – Chong

ответ

3

обновления вашего выбора:

$('input[name=\'bugtype2\'][value="'+bugtype+'"]').prop('checked', true); 

Если у вас есть лишние пробелы в #aa5 элементе, было бы целесообразно использовать $.trim() на bugtype следующим образом:

$('input[name=\'bugtype2\'][value="'+$.trim(bugtype)+'"]').prop('checked', true); 

jsFiddle Demo

+0

Был как раз комментарий, что я думал, что 'attr' следует использовать только для установки начального значения checked и' prop' все остальное, но вы его исправили. – AtheistP3ace

+1

Ну, технически 'attr()' - это метод, используемый для jQuery '<= 1.5'. – BenM

+0

О, хорошо, я знал, что это «несколько» недавнее дополнение. – AtheistP3ace

1

Изменить его к этому:

$("input[type='radio'][name='bugtype2'][value='" + bugtype + "']").prop("checked", true); 

См this скрипку.

+0

Большое вам спасибо, сэр! отлично работал! – Chong

0

Вы не используете val(), чтобы установить, установлен или установлен радио/флажок.

val() устанавливает или получает значение некоторых элементов формы.

Try:

$("input:radio[value='Defect']").attr('checked', true); 

Чтобы объяснить поведение, когда вы видите Defect после запуска:

var bugtype = $("#aa5").html(); 
alert(bugtype); 

Когда вы получите несколько результатов для селектора, как в случае с $("#aa5"), когда вы вызываете .html(), вы вернете HTML для первого выбора.

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