2017-03-28 5 views
0

Ich versuche, eine id eines Kontrollkästchens zu bekommen. Es gibt mehrere Kontrollkästchen auf einer Seite, die id s wie haben: channel_left_restream_ids_42, channel_left_restream_ids_44, etc. Ich muss ein Ereignis behandeln, wenn einer dieser überprüft und erhalten Sie eine id der Überprüfung.JQuery get Kontrollkästchen ID

Also für Checkbox mit Code <input type="checkbox" value="42" checked="checked" name="channel[left_restream_ids][]" id="channel_left_restream_ids_42"> und Coffeescript wie folgt aus:

$("input[id*=channel_left_restream_ids]").change (e) => 
    alert($(this).attr("id")) 

Ich kann es nicht funktioniert bekommen. Es sagt undefined. Ich habe viele Alternativen ausprobiert, keine funktionierte. Wo mache ich einen Fehler?

JSFiddle is here

Antwort

0

Unerwarteterweise war das Problem nicht in jQuery oder smth so. Das war einfach ein Problem einer kühnen Reihe in meinem Kaffee. Ersetzen $("input[id*=channel_left_restream_ids]").change (e) => mit $("input[id*=channel_left_restream_ids]").change (e) -> (Unterschied ist nur mit einem Array am Ende der Zeile) hat den Trick gemacht.

-1

Ich hoffe, ich verstehe Ihre Frage richtig, aber ich hoffe, dies könnte Sie in der richtigen Richtung schieben:

Um zu wissen, ob das dieses spezifische Kontrollkästchen aktiviert ist oder nicht, müssen Sie verwenden seine genaue ID.

Also, in Ihrem Skript Sie suchen für diese ID: id * = channel_left_restream_ids

aber die ID der Checkbox ist "channel_left_restream_ids_42"

Ich weiß nicht, den Code mit dem Sie arbeiten , aber es ist möglich, dass es viele "channel_left_restream_ids" gibt, oder dass diese ID für etwas anderes verwendet wird, das kein Kontrollkästchen ist.

So würde dies lohnt einen Versuch: [id * = channel_left_restream_ids_42]

+0

Ja, nach 'restream_ids' gibt es viele Checkboxen mit unterschiedlichen Nummern. Die Sache ist, dass ich brauche, dass dieses Ereignis ausgelöst wird, wenn ich eines von ihnen ändere. Allerdings gibt es einen JSFiddle-Link in meiner Frage, und wenn ich "_42" zum Selektor hinzufüge, ändert sich nichts, Sie können es sehen. Es produziert immer noch "undefiniert" – Ngoral

0

In Ihrem jfiddle gab ich jeden Checkbox einen Klassennamen von getId und verwenden diesen Code.

Dies sollte Sie in die richtige Richtung bringen.

Wenn die Kontrollkästchen alle den gleichen Namen haben, können Sie das auch verwenden.

Verwandte Themen