2010-11-23 11 views

Antwort

9

Zunächst einmal sollte ein ID-Attribut keine eckigen Klammern enthalten. Es ist einfach nicht gültig. Es kann Buchstaben, Zahlen, Unterstriche, Bindestriche, Doppelpunkte und Punkte enthalten.

In der Antwort auf diese Frage gibt es einen Hinweis, dass Jquery auch Probleme mit Punkten und Doppelpunkte hat:

What are valid values for the id attribute in HTML?

So versuchen, gültige IDs zu wechseln. Wenn das nicht möglich ist, verwenden Sie das richtige Escaping:

$("#custom_15\\[1\\]") 
+0

Vielen Dank. Es funktionierte. – anupam

+1

+1. @anupam: Der Hauptpunkt dieser Antwort ist, dass Sie ungültige ID-Attribute vermeiden sollten. Sie werden möglicherweise nicht von allen Browsern gleich behandelt und Interoperabilitätsprobleme können auftreten. –

2

Wahr, Sie können keine eckigen Klammern haben.

Müssen Sie den gleichen Namen für die Felder "Name" und "ID" haben?

Schlechter muss kommen Sie können immer eine einzigartige Klasse hinzufügen und finden Sie es in JS durch.

dh
<input type="checkbox" name="custom_15[1]" class="test" id="custom_15[1]" value="1" /> 

Und dann in Ihrem JS verwenden diese

$(".test") 

Hoffnung, das hilft.