2017-02-22 3 views
0

Ich habe eine Reihe von Schaltflächen, die ich eine Daten-ID anfügen. Ich versuche dann, den Wert dieser Schaltfläche zu erhalten, wenn sie angeklickt wird, um sie in ein Array zu schieben, das ich schließlich wieder herauslesen werde, um einige Cookie-Werte darauf anzuwenden.Klicken Sie auf Daten ID und drücken Sie auf Array mit jQuery

Ich habe einige Bits aus anderen Codebeispielen zusammengebaut. Ich fühle, dass ich wirklich in der Nähe bin, aber ich bin nur nicht sicher, wie die Daten-ID ziehen es in das Array einzufügen:

var z = []; 
jQuery(document).ready(function($) { 
$(".btn").each(function(i) { 
    i = i + 1; 
$(this).attr('data-id', ("btn_" + i)); 
    }); 
$('.btn').each(function() { 
var btnData = $(this).data('id'); 
$(this).click(function(e) { 
    z.push($(btnData).val()); 
    console.log(z); 
    }); 
    }); 
}); 

nicht sicher, was Teil I insgesamt bin fehlt. Denken Sie, es ist etwas in der z.push($(btnData).val());.

+1

die Zeile entfernen 'var btnData = $ (this) .data ('id');' und modifiziert diese 'z.push ($ (btnData) .val());' auf ' z.push ($ (this) .data ('id')) ' – TechVision

Antwort

1

Sie müssen direkt den Wert im Array drücken. Sie brauchen auch nicht each(), um Ereignishandler zu binden.

var z = []; 
jQuery(document).ready(function($) { 
    $(".btn").attr('data-id', function(i) { 
    return "btn_" + (i + 1); 
    }); 
    $('.btn').click(function() { 
    z.push($(this).data('id')); 
    console.log(z); 
    }); 
}); 
+0

Ahhhh, ok. Cool. Vielen Dank! Ja, ich dachte, ich würde das etwas zu komplex machen, als das, was es sein musste. Sowohl Ihr als auch der obige Kommentar funktionierten, aber bei Ihnen ist es viel sauberer. Danke noch einmal! – ultraloveninja

Verwandte Themen