2016-09-19 4 views
-1

Ich habe ein Eingabefeld dynamische Klasse, wie:Wie wählt man die dynamische Klasse in der jQuery-Änderungsfunktion?

<input class="chek" data-id="1" type="checkbox" data-toggle="toggle"> 
<input class="chek" data-id="2" type="checkbox" data-toggle="toggle"> 
<input class="chek" data-id="3" type="checkbox" data-toggle="toggle"> 

Hier meine Js ist:

$(".chek").unbind().change(function(e) { 
var getid = $(this).attr('data-id'); 
alert(getid); 
e.preventDefault(); 

$.ajax({ 
     url: base_url + '/admin/program/setslider?selected='+getid, 
     type: 'POST', 
     dataType: 'json', 
     data: getid, 
     headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
     } 
     }) 

Problem ist $(this).attr('data-id'); gibt alle Daten-ID attr refering zu derselben Klasse Chek (soll ich $(this) würde Daten-ID zurückgeben, wenn nur bestimmte Klasse, aber es gibt alle Daten-ID zurück

Lösung Ich nehme an, ist dynamische Klasse für die Auswahl bestimmter Eingabe wie:

sein
<input class="chek_1" data-id="1" type="checkbox" data-toggle="toggle"> 
<input class="chek_2" data-id="2" type="checkbox" data-toggle="toggle"> 
<input class="chek_3" data-id="3" type="checkbox" data-toggle="toggle"> 

Und JS wie:

$(".chek_'+ id +'").unbind().change(function(e) { 
// code here 
} 

Hinweis:

ich Bootstrap Toggle bin mit http://www.bootstraptoggle.com/ Änderungen in Checkbox zu machen.

+0

Ihre Frage ist unklar .. Auf Aktivieren/Deaktivieren aller Kontrollkästchen Sie eine Operation machen wollen? –

+0

Sie müssen viel genauer darüber sein, was Ihr Problem ist und was Sie versuchen zu tun. Siehe [ask] – charlietfl

+0

Danke geschätzt, siehe den fraglichen Chang. –

Antwort

0

Ich denke, Sie möchten das Änderungsereignis der Checkboxen erhalten.

Basierend auf Ihrem HTML können Sie den folgenden Code verwenden, um das Änderungsereignis zu erhalten.

$("input[data-toggle='toggle']").change(function(){ 
     alert(this.checked); 
}); 

ODER

$("input:checkbox").change(function(){ 
     alert(this.checked); 
}); 

Siehe Fiddle

+0

Danke zum Beispiel Antwort, eigentlich war meine Frage nicht klar, siehe die Änderung in meiner Frage. Mein Problem ist die Auswahl bestimmter Klasse für den Aufruf der Änderungsfunktion auf bestimmte Eingabe –

+0

Ihr Code funktioniert gut für mich .. Ich habe eine Geige basierend auf Ihrem Code erstellt, es gibt nicht alle Daten-IDs zurück. Geige - http://jsfiddle.net/xs9e6moL/75/ –

Verwandte Themen