web-dev-qa-db-fra.com

tableau de plusieurs cases à cocher jquery

<input type="checkbox" name="options[]" value="1" />
<input type="checkbox" name="options[]" value="2" />
<input type="checkbox" name="options[]" value="3" />
<input type="checkbox" name="options[]" value="4" />
<input type="checkbox" name="options[]" value="5" />

Comment puis-je créer un tableau avec des valeurs de cases à cocher qui sont cochées?

REMARQUE: (IMPORTANT) J'ai besoin d'un tableau comme [1, 2, 3, 4, 5] et non comme ["1", "2", "3", "4", "5"].
REMARQUE: Il y a environ 50 cases à cocher.

Est-ce que quelqu'un peut m'aider? S'il vous plaît!

Merci!

36
user557108
var checked = []
$("input[name='options[]']:checked").each(function ()
{
    checked.Push(parseInt($(this).val()));
});
69
Dormouse

Vous pouvez utiliser $.map() (ou même la fonction .map() qui fonctionne sur un objet jQuery) pour obtenir un tableau de valeurs vérifiées . L'opérateur unaire (+) convertira la chaîne en un nombre

var arr = $.map($('input:checkbox:checked'), function(e,i) {
    return +e.value;
});

console.log(arr);

Voici un exemple

58
Russ Cam
var checkedString = $('input:checkbox:checked.name').map(function() { return this.value; }).get().join();
2
user2503922

Si vous avez une classe pour chacun de vos champs de saisie, vous pouvez le faire comme

        var checked = []
        $('input.Booking').each(function ()
        {
            checked.Push($(this).val());
        });
2
Muhammad Amjad