2012-04-12 2 views
2

ich einige Markierung muss aufstehen wie:Wie eine Liste von Attributwerten aus kontrolliert Kontrollkästchen einer bestimmten Klasse

<input type="checkbox" class="fieldapprovalcheckbox" data-invoicelineid=3 /> 
<input type="checkbox" class="fieldapprovalcheckbox" data-invoicelineid=4 /> 
<input type="checkbox" class="fieldapprovalcheckbox" data-invoicelineid=5 /> 

Nun sind alle diese Kontrollkästchen sagen haben in jquery geprüft, wie würde ich eine Liste aller bekommen die Daten-invoicelineeid? dh. Es sollte 3,4,5 enthalten.

Ich schrieb das folgende, aber es erhält nur das erste.

var checkedInvoiceLineIds = $(".fieldeapprovalcheckbox:checked").attr("data-invoicelineid"); 

Antwort

3
var checkedInvoiceLineIds = []; 
$(".fieldeapprovalcheckbox:checked").each(function(){ 
    checkedInvoiceLineIds.push($(this).data("invoicelineid")); 
}); 
6

sollten Sie Karte()

var checkedInvoiceLineIds = $(".fieldeapprovalcheckbox:checked").map(function(){ 
     return $(this).data("invoicelineid"); 
}).get(); 

verwenden und Sie hav ein Array, das die geprüften Werte enthält

+0

Sie sollten nicht tun müssen, 'das ist checked' Test, weil Der Selektor passt bereits nur auf überprüfte Elemente, oder? – keegan3d

+0

@ keegan3d ja ja ich habe das entfernt! :) –

Verwandte Themen