Abrufen von Kontrollkästchenlistenwerten mit jQuery

Lesezeit: 3 Minuten

Benutzer-Avatar
Kris-I

In einem div habe ich ein Kontrollkästchen. Ich möchte, wenn ich eine Taste drücke, dass alle Namen aller Kontrollkästchen aktiviert werden. Können Sie mir sagen, wie das geht?

<div id="MyDiv">
....
<td><%= Html.CheckBox("need_" + item.Id.ToString())%></td>
...
</div>

Vielen Dank,

  • Oder ‘boxen‘ würde auch akzeptiert werden 😛

    – Molombie

    23. August 2012 um 4:08 Uhr


$(document).ready(function() {
    $('#someButton').click(function() {
        var names = [];
        $('#MyDiv input:checked').each(function() {
            names.push(this.name);
        });
        // now names contains all of the names of checked checkboxes
        // do something with it
    });
});

  • Warum ist es so einfach, wenn du mir die Lösung gibst?! 😉

    – Kris-I

    17. August 2009 um 12:20 Uhr

  • Ich konnte dieses Array nicht in Java abrufen, ich habe String verwendet[] aber dennoch. Der Fehler tritt auf, wenn die Variable über die .post-Methode übergeben wird. com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn Fehler beim Festlegen des Ausdrucks „names[]’mit Wert'[Ljava.lang.String;@4a004a0′

    – changeme

    Jun 14, 2012 at 21:36

  • You can also use .map().

    – Josh Crozier

    Jan 15, 2015 at 3:41

Since nobody has mentioned this..

If all you want is an array of values, an easier alternative would be to use the .map() method. Just remember to call .get() to convert the jQuery object to an array:

Example Here

var names = $('.parent input:checked').map(function () {
    return this.name;
}).get();

console.log(names);

var names = $('.parent input:checked').map(function () {
    return this.name;
}).get();

console.log(names);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
    <input type="checkbox" name="name1" />
    <input type="checkbox" name="name2" />
    <input type="checkbox" name="name3" checked="checked" />
    <input type="checkbox" name="name4" checked="checked" />
    <input type="checkbox" name="name5" />
</div>

Pure JavaScript:

Example Here

var elements = document.querySelectorAll('.parent input:checked');
var names = Array.prototype.map.call(elements, function(el, i) {
    return el.name;
});

console.log(names);

var elements = document.querySelectorAll('.parent input:checked');
var names = Array.prototype.map.call(elements, function(el, i){
    return el.name;
});

console.log(names);
<div class="parent">
    <input type="checkbox" name="name1" />
    <input type="checkbox" name="name2" />
    <input type="checkbox" name="name3" checked="checked" />
    <input type="checkbox" name="name4" checked="checked" />
    <input type="checkbox" name="name5" />
</div>

var aArray = [];  window.$( "#myDiv" ).find( "input[type=checkbox][checked]" ).each( function() { aArray.push( this.name ); });

Sie können es in eine Funktion einfügen und auf Knopfdruck ausführen.

Nicht getestet, sollte aber funktionieren:

$("#MyDiv td input:checked").each(function()
{
    alert($(this).attr("id"));
});

Sie sollten dafür die Karte verwenden.

$('input[type=checkbox]:checked').map(function(i, e) { 
    return $(e).val(); 
});

Benutzer-Avatar
Sonida

Probier diese..

var listCheck = [];
console.log($("input[name="YourCheckBokName[]"]"));
$("input[name="YourCheckBokName[]"]:checked").each(function() {
     console.log($(this).val());
     listCheck .push($(this).val());
});
console.log(listCheck);

Benutzer-Avatar
Jörg Loreto

var nameCheckBoxList = "myCheckListName";
var selectedValues = $("[name=" + nameCheckBoxList + "]:checked").map(function(){return this.value;});

1216210cookie-checkAbrufen von Kontrollkästchenlistenwerten mit jQuery

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy