Jquery: выберите ввод с заданным именем и значением
Я хочу проверить вход, который называется weekday и имеет value = 1. Я пробовал строку ниже. Он проверяет все будние дни.
$('input[name = weekday], [value =1]').attr("checked", "checked");
Ответы
Ответ 1
Не используйте запятую, чтобы применить оба условия к одному элементу.
$('input[name=weekday][value=1]').attr("checked", "checked");
В качестве дополнительной заметки вы должны использовать prop() вместо attr()
для свойств, предложенных jQuery doc и указана @tyleha.
Как и в jQuery 1.6, метод .attr() возвращает undefined для атрибутов которые не были установлены. Извлечение и изменение свойств DOM, таких как проверенное, выбранное или отключенное состояние элементов формы, используйте .prop().
Вы можете использовать . prop (propertyName, value), чтобы установить свойство checked, как показано ниже.
$('input[name=weekday][value=1]').prop("checked", true);
Ответ 2
Нет необходимости в запятой. Попробуйте:
var checked = $('input[name = weekday][value =1]').attr("checked", "checked");
Ответ 3
Попробуйте с этим
$('input[name=weekday][value=1]').attr("checked", "checked");
Ответ 4
Запятая разделяет несколько селекторов, поэтому вы искали входы с именем "weekday" и элементы любого типа со значением = 1.
Чтобы объединить оба критерия в одном селекторе, просто добавьте их друг за другом:
$('input[name=weekday][value=1]').attr("checked", "checked");
Ответ 5
<input type="radio" name="some[thing]" value="one">
<input type="radio" name="some[thing]" value="two">
<input type="radio" name="some[thing]" value="three">
<input type="radio" name="some[thing]" value="four">
<input type="radio" name="some[thing]" value="five">
<input type="radio" name="some[thing]" value="six">
alert('1');
$("input[value='four'][name='some\\[thing\\]']").attr("checked",true);
alert('2');
$("input[value='four'][name='some\\[thing\\]']").attr("checked",false);
alert('3');