2016-09-29 3 views
0

Ich habe eine Liste von Checkboxen und ich brauche eine Reihe von überprüften Elementen. Ich benutze die folgende Funktion, aber es gibt auch einige Zeichenwerte zurück.Jquery Checkboxen geben einige Werte zurück

var rIds = $('input[type=checkbox]:checked').map(function (_, el) { 
    return $(el).val(); 
}).get(); 

Ausgang ist:

["1", "414", "true", "true"] 

Jedoch habe ich die unten Ausgang erwarten,

["1", "414"] 

Warum ist das?

+3

Ihre Funktion korrekt ist. Wenn Sie mehr Checkboxen als erwartet auswählen, müssen Sie Ihren "Eingabe [type = checkbox]: checked'" Selektor spezifischer machen –

+0

@RoryMcCrossan Sie schlagen mich um 10 Sekunden. Auch @ TechGuy, sollten Sie etwas wie 'containerSelector Eingabe [type = checkbox]: checked' – Rajesh

+0

verwenden 'rIds.slice (0,2)' – madalinivascu

Antwort

0

Number() wird nur die Nummer zurück, wenn es Zahl sonst 0 ,Infinity , NaN

var rIds = $('input[type=checkbox]:checked').map(function (_, el) { 
    var current = $(el).val(); 
    if (Number(current) == current) return current ; 
}).get(); 
0

von @Rory Mccrossan Wie vorgeschlagen zurückkehren, Ihre Wähler alle Kontrollkästchen holen wird. Sie sollten Ihren Selektor lieber aktualisieren, um die richtigen Elemente zu erhalten.

Es folgt eine grundlegende Implementierung beide Fälle zeigt:

$("#btnTest").on("click", function() { 
 
    var allChks = $('input[type=checkbox]:checked').map((i, v) => v.value).get(); 
 
    var div2Chks = $(".container2 input[type=checkbox]:checked").map((i, v) => v.value).get(); 
 
    console.log(allChks, div2Chks) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="container1"> 
 
    <input type="checkbox" value="true" checked>Test 
 
    <input type="checkbox" value="true" checked>Test 
 
</div> 
 

 
<div class="container2"> 
 
    <input type="checkbox" value="foo" checked>Foo 
 
    <input type="checkbox" value="bar" checked>Bar 
 
</div> 
 

 
<button id="btnTest">Get Value</button>

Verwandte Themen