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

Селектора ввода массива имени Javascript (имя [sometext])

Как я могу выбрать именованный вход, как это правильно, в jQuery, не назначая идентификаторы?

<input name="person[first]" type="hidden">
<input name="person[last]" type="hidden">

// Seems to be acting on multiple hidden elements instead of this named one
// This sets the value of both of those hidden elements in some cases
$("input[type=hidden][name=person[first]]").val('Test');

// So I've changed it to this. Is there a better way?
$("input[name=person[first]]").val('Test');
4b9b3361

Ответ 1

Поместите значение атрибута в кавычки...

$("input[type=hidden][name='person[first]']").val();
   // ---------------------^-------------^

Из документы для атрибута-equals-selector...

атрибут Имя атрибута.

значение Значение атрибута. Может быть либо некотируемым одиночным словом, либо кавычкой строки.

Поскольку у вас есть не одно слово, оно должно быть указано.

Ответ 2

Я уверен, что вы должны использовать кавычки для любого значения селектора атрибутов, которое включает символы со значением в CSS. Вот так:

input[type=hidden][name='person[first]']