2012-01-06 3 views
2

Я создал группу переключателей, используя тег <c:forEach>. Я также дал идентификаторы.Как выбрать радио кнопку с помощью JQuery

При нажатии любой переключателя я делаю вызов ajax. Как только я вернусь на эту страницу, я хочу снова выбрать этот переключатель.

Для этого я назначаю обратно выбранный идентификатор переключателя в скрытое текстовое поле.

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

Я попытался как

$('input[id="$("#myHiddenTextBoxId").val()"]').attr('checked', true); 

Но это не работает. Здесь myHiddenTextBoxId удерживает значение ранее выбранного переключателя.

ответ

3

Вы где посылать все это в виде строки - вам нужно разделить его

$(document).ready(function() { 
    $('input[id="' + $("#myHiddenTextBoxId").val() + '"]').prop('checked',true); 
}); 

prop() следует использовать как в JQuery 1.6 ->http://api.jquery.com/prop/

Примечание Кроме того, убедитесь, что ваш код заключенном в функцию $(document).ready(), чтобы гарантировать, что DOM готов, прежде чем пытаться манипулировать им.

1

Попробуйте это:

$('input[id="' + $("#myHiddenTextBoxId").val() + '"]').prop('checked', true); 

Вы не можете иметь вызов функции JQuery ($("#myHiddenTextBoxId").val()) в строке селектора.

Рабочий пример here.


Примечание:

Использование .attr() таким образом: .attr('checked', 'checked')
Хотя, для специальных атрибутов, таких как проверка или отключена, используйте .prop('checked', true) (JQuery 1.6+)

+0

HI @Didier GI попробовал ваше решение, но оно не сработало. Это дает ошибку java-скрипта. Я пытался с .prop() – tomK

+0

Ну, мое решение работает ([jsfiddle] (http://jsfiddle.net/didierg/yr5aq/)). Правильно ли сохранен ли идентификатор в вашем скрытом поле? –

+0

да, это правильно. Я проверил с помощью alert() :( – tomK

1
$('#myHiddenTextBoxId').prop('checked', true); 
+0

Это добавит атрибут, проверенный на скрытое поле ... –

+0

@DidierG .: Возможно, вы правы, но я не видел HTML, о котором говорил OP. – Tadeck

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