javascript - jQuery-selektor för inputfält med hakparenteser i namn-attributet


Jag försöker att välja detta element som har hakparenteser i namn-attributet:

<input type="text" name="inputName[]" value="someValue">

Jag har försökt detta (vilket inte fungerar):

$('input[inputName[]=someValue]')

och inte det här heller:

$('input[inputName&#91;&#93;=someValue]')

eller detta:

$('input["inputName[]"=someValue]')

REDIGERA: Som några av er har påpekat skulle $ ('input[inputName=someValue]') aldrig fungera. Det jag försökte göra var: $ ('input[name=inputName][value=someValue]'). (Men med [] i name-attributet).

Svar #1

Enligt jQuery-dokumentationen, försök detta:

$('input[inputName\\[\\]=someValue]')

[REDIGERA] Jag är dock inte säker på att det är rätt syntax för din selektor. Du vill förmodligen ha:

$('input[name="inputName[]"][value="someValue"]')

Svar #2

Du kan använda backslash för att citera "roliga" tecken i dina jQuery-väljare:

$('#input\\[23\\]')

För attributvärden kan du använda citattecken:

$('input[name="weirdName[23]"]')

Nu är jag lite förvirrad av ditt exempel; hur ser din HTML egentligen ut? Var dyker strängen "inputName" upp, särskilt?

redigera åtgärdat felaktighet; tack @Dancrumb

Svar #3

Syntaxen för attributväljare är [name=value] där name är attributnamnet och value är attributvärdet.

Så om du vill välja alla input-element med attributet name som har värdet inputName[]:

$('input[name="inputName[]"]')

Och om du vill kontrollera två attribut (här: name och value):

$('input[name="inputName[]"][value=someValue]')

Relaterade artiklar