Ответ 1
В документации jQuery, попробуйте следующее:
$('input[inputName\\[\\]=someValue]')
[EDIT] Однако я не уверен, что правильный синтаксис для вашего селектора. Вероятно, вы хотите:
$('input[name="inputName[]"][value="someValue"]')
Я пытаюсь выбрать этот элемент с квадратными скобками в атрибуте name:
<input type="text" name="inputName[]" value="someValue">
Я пробовал это (что не работает):
$('input[inputName[]=someValue]')
и не делает этого:
$('input[inputName[]=someValue]')
или это:
$('input["inputName[]"=someValue]')
EDIT: Как уже указывали некоторые из вас, $('input[inputName=someValue]')
никогда не будет работать. То, что я пытался сделать, было: $('input[name=inputName][value=someValue]')
. (Но с []
в атрибуте name).
В документации jQuery, попробуйте следующее:
$('input[inputName\\[\\]=someValue]')
[EDIT] Однако я не уверен, что правильный синтаксис для вашего селектора. Вероятно, вы хотите:
$('input[name="inputName[]"][value="someValue"]')
Вы можете использовать обратную косую черту для цитирования "смешных" символов в ваших селекторах jQuery:
$('#input\\[23\\]')
Для значений атрибутов вы можете использовать кавычки:
$('input[name="weirdName[23]"]')
Теперь, я немного смущен вашим примером; как выглядит ваш HTML-код? Где появляется строка "inputName", в частности?
редактировать фиксированное бодрость; спасибо @Dancrumb
Синтаксис селектора атрибутов [name=value]
, где name
- это имя атрибута, а value
- значение атрибута.
Итак, если вы хотите выбрать все элементы input
с атрибутом name
, имеющим значение inputName[]
:
$('input[name="inputName[]"]')
И если вы хотите проверить два атрибута (здесь: name
и value
):
$('input[name="inputName[]"][value=someValue]')
Если селектор содержится внутри переменной, может оказаться полезным приведенный ниже код:
selector_name = $this.attr('name');
//selector_name = users[0][first:name]
escaped_selector_name = selector_name.replace(/(:|\.|\[|\])/g,'\\$1');
//escaped_selector_name = users\\[0\\]\\[first\\:name\\]
В этом случае мы префикс всех специальных символов с двойным обратным слэшем.
Просто разделите его разными цитатами:
<input name="myName[1][data]" value="myValue">
JQuery:
var value = $('input[name="myName[1][data]"]').val();