web-dev-qa-db-fra.com

comment obtenir plusieurs valeurs de case à cocher en utilisant jquery

Comment puis-je obtenir la valeur des cases à cocher sélectionnées avec jQuery? Mon code html est le suivant:

<input  id="ad_Checkbox1" class="ads_Checkbox" type="checkbox" value="1" />
<input  id="ad_Checkbox2" class="ads_Checkbox" type="checkbox" value="2" />
<input  id="ad_Checkbox3" class="ads_Checkbox" type="checkbox" value="3" />
<input  id="ad_Checkbox4" class="ads_Checkbox" type="checkbox" value="4" />
<input type="button" id="save_value" name="save_value" value="Save" />
46
user 007

Essaye ça

<input name="selector[]" id="ad_Checkbox1" class="ads_Checkbox" type="checkbox" value="1" />
<input name="selector[]" id="ad_Checkbox2" class="ads_Checkbox" type="checkbox" value="2" />
<input name="selector[]" id="ad_Checkbox3" class="ads_Checkbox" type="checkbox" value="3" />
<input name="selector[]" id="ad_Checkbox4" class="ads_Checkbox" type="checkbox" value="4" />
<input type="button" id="save_value" name="save_value" value="Save" />

une fonction

    $(function(){
      $('#save_value').click(function(){
        var val = [];
        $(':checkbox:checked').each(function(i){
          val[i] = $(this).val();
        });
      });
    });
91
Juice

Pour obtenir un tableau de valeurs à partir de plusieurs cases à cocher, utilisez les fonctions jQuery map/get:

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

Cela retournera un tableau avec les valeurs vérifiées, comme celui-ci: ['1', '2']

Voici un exemple de travail sur jsfiddle: http://jsfiddle.net/7PV2e/

55
dugokontov

Tu peux le faire comme ça, 

$('.ads_Checkbox:checked')

Vous pouvez les parcourir avec each() et remplir le tableau avec les valeurs des cases à cocher.

Démo en direct

Pour obtenir les valeurs des cases sélectionnées dans le tableau _

var i = 0;
$('#save_value').click(function () {
       var arr = [];
       $('.ads_Checkbox:checked').each(function () {
           arr[i++] = $(this).val();
       });      
});

Edit, en utilisant .map ()

Vous pouvez également utiliser jQuery.map avec get() pour obtenir le tableau des valeurs des cases à cocher sélectionnées. 

En note, utiliser this.value au lieu de $(this).val() donnerait de meilleures performances.

Démo en direct

$('#save_value').click(function(){
    var arr = $('.ads_Checkbox:checked').map(function(){
        return this.value;
    }).get();
}); 
18
Adil

vous pouvez les obtenir comme ça 

$('#save_value').click(function(){
$('.ads_Checkbox:checked').each(function(){
     alert($(this).val());
                       });});

Le plus grand centre commercial

jsfiddle

2
rahul
$('input:checked').map(function(i, e) {return e.value}).toArray();
2

Vous pouvez essayer

$('#save_value').click(function(){
    var final = '';
    $('.ads_Checkbox:checked').each(function(){        
        var values = $(this).val();
        final += values;
    });
    alert(final);
});

Cela renverra toutes les valeurs de case à cocher dans une seule instance.

Here est une démonstration en direct.

2
blasteralfred Ψ

Aussi, vous pouvez utiliser $('input[name="selector[]"]').serialize();. Il renvoie une chaîne encodée en URL de la manière suivante: "sélecteur% 5B% 5D = 1 & sélecteur% 5B% 5D = 3"

1
Andriy Leshchuk

Puisque tu as le même nom de classe contre toutes les cases à cocher, 

   $(".ads_Checkbox") 

vous donnera toutes les cases à cocher, puis vous pourrez les parcourir en utilisant chaque boucle comme

$(".ads_Checkbox:checked").each(function(){
   alert($(this).val());
});
1
Maverick

essayez celui-ci .. (les gars, je suis une nouvelle abeille .. donc si je me trompe, je suis vraiment désolé. Mais j'ai trouvé une solution de cette façon.)

var suggestion = [];
        $('#health_condition_name:checked').each(function (j, ob) {
            var odata = {
                health_condition_name: $(ob).val()
            };
            health.Push(odata);
        });
0

Essayez getPrameterValues() pour obtenir les valeurs de plusieurs cases à cocher.

0
joel