jQuery selector for inputs with square brackets in the name attribute
I’m trying to select this element which has square brackets in the name attribute:
I’ve tried this (which doesn’t work):
and neither does this:
EDIT: As some of you have pointed out, $(‘input[inputName=someValue]’) would never work. What I was trying to do was: $(‘input[name=inputName][value=someValue]’). (But with  in the name attribute).
Per the jQuery documentation, try this:
However, I’m not sure that’s the right syntax for your selector. You probably want:
You can use backslash to quote “funny” characters in your jQuery selectors:
For attribute values, you can use quotes:
Now, I’m a little confused by your example; what exactly does your HTML look like? Where does the string “inputName” show up, in particular?
edit fixed bogosity; thanks @Dancrumb
The attribute selector syntax is
name is the attribute name and
value is the attribute value.
So if you want to select all
input elements with the attribute
name having the value
And if you want to check for two attributes (here:
If the selector is contained within a variable, the code below may be helpful:
selector_name = $this.attr('name'); //selector_name = users[first:name] escaped_selector_name = selector_name.replace(/(:|\.|\[|\])/g,'\\$1'); //escaped_selector_name = users\\[0\\]\\[first\\:name\\]
In this case we prefix all special characters with double backslash.