Селекторы ввода массива имен Javascript (name [sometext]) - PullRequest
21 голосов
/ 13 февраля 2012

Как я могу правильно выбрать именованный вход в 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');

Ответы [ 2 ]

36 голосов
/ 13 февраля 2012

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

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

С документы для атрибута-выбора-равных ...

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

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

Поскольку у вас больше, чем просто одно слово, оно должно быть заключено в кавычки.

3 голосов
/ 13 февраля 2012

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

input[type=hidden][name='person[first]']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...