Подтвердить что ты не робот

JQuery set radio button

Я пытаюсь установить переключатель. Я хочу установить его, используя значение или идентификатор.

Это то, что я пробовал.

$('input:radio[name=cols]'+" #"+newcol).attr('checked',true);

newcol - это идентификатор переключателя.

Возможно, небольшое редактирование в порядке.

Есть два набора радиобокнов, один с cols, а другой с строками. Поэтому я не вижу смысла использовать id. Виноват. Итак, у меня есть пример:

<input type="radio" name="rows" class="listOfCols" 
   style="width: 50%; " value="Site"></input>

и

<input type="radio" name="cols" class="listOfCols" 
   style="width: 50%; "  value="Site"></input>

с удаленным идентификатором, и мне нужно установить правильный.

4b9b3361

Ответ 1

Ваш селектор ищет потомка элемента input:radio[name=cols], который имеет идентификатор newcol (ну значение этой переменной).

Попробуйте это вместо этого (поскольку вы все равно выбираете по ID):

$('#' + newcol).prop('checked',true);

Вот демо: http://jsfiddle.net/jasper/n8CdM/1/

Кроме того, как и в jQuery 1.6, перфективный метод изменения свойства .prop(): http://api.jquery.com/prop

Ответ 3

В вашем селекторе вы, кажется, пытаетесь извлечь некоторый вложенный элемент вашего переключателя с заданным идентификатором. Если вы хотите проверить переключатель, вы должны выбрать этот переключатель в селекторе, а не что-то еще:

$('input:radio[name="cols"]').attr('checked', 'checked');

Предполагается, что в вашей разметке есть следующий переключатель:

<input type="radio" name="cols" value="1" />

Если ваш переключатель имеет идентификатор:

<input type="radio" name="cols" value="1" id="myradio" />

вы можете напрямую использовать селектор id:

$('#myradio').attr('checked', 'checked');

Ответ 4

Вы можете попробовать следующий код:

$("input[name=cols][value=" + value + "]").attr('checked', 'checked');

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

Ответ 5

Зачем вам нужно 'input:radio[name=cols]'. Не знаете свой html, но, предполагая, что идентификаторы уникальны, вы можете просто сделать это.

$('#'+newcol).prop('checked', true);

Ответ 6

Попробуйте следующее:

$("#" + newcol).attr("checked", "checked");

У меня были проблемы с attr("checked", true), поэтому я предпочитаю использовать выше.

Кроме того, если у вас есть идентификатор, вам не нужен этот материал для выбора. Идентификатор уникален.

Ответ 7

Так как newcol - это идентификатор переключателя, вы можете просто использовать его, как показано ниже.

$("#"+newcol).attr('checked',true);

Ответ 8

Использование .filter() также работает и является гибким для id, value, name:

$('input[name="cols"]').filter("[value='Site']").attr('checked', true);

(см. этот блог)

Ответ 9

Вы можете просто использовать:

$("input[name='cols']").click();

Ответ 10

Выбранный ответ работает в этом случае.

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

Эта строка выбирает именно то, что было предложено при показе изменения на экране.

$('input:radio[name=cols][id='+ newcol +']').click();