从已选中的复选框中获取值,并使用Javascript / jQuery将它们放入数组中

时间:2013-07-31 07:25:52

标签: javascript jquery arrays

我希望使用name="car_type[]"获取已选中复选框的值,并使用所有值警告最终数组。 怎么做?到目前为止,我有这个代码。但它不起作用。我不知道如何正确循环选中复选框并将值添加到数组car_type_arr。我也无法使用alert(car_type_arr);警告最终数组。谢谢你的帮助。

$().ready(function(){

        $('.prettycheckbox').click(function(e) {    

            e.preventDefault();

            var car_type_arr = [];

                $("input:checkbox[name=car_type]:checked").each(function()
                        {
                             // here I need to add values to array like in php
                             // e.g. $car_type_arr[] = $the_grabbed_value;
                             // but using javascript syntax
                             // How to do that?
                        });  

            // then I need to alert the array, how to do that in JS?
            alert(car_type_arr);

            return false;
        });

});

5 个答案:

答案 0 :(得分:2)

您可以使用map

var car_type_arr = $("input:checkbox[name=car_type]:checked").map(function() {
                        return this.value;
                   }).get();

console.log(car_type_arr);

答案 1 :(得分:0)

$("input:checkbox[name=car_type]:checked").each(function() {
    car_type_arr.push($(this).val());
}); 

答案 2 :(得分:0)

试试这个:

$("input:checkbox[name=car_type]:checked").each(function()
    {
        car_type_arr.push($(this).val());
    });

答案 3 :(得分:0)

尝试以下代码:

<input type="checkbox" name="chkBox" value="xxx">
<input type="checkbox" name="chkBox" value="xxx1">
<input type="checkbox" name="chkBox" value="xxx2">
<input type="button" id="btnBox">

$(document).ready(function(){
$("#btnBox").click(function(){
        var car_type_arr = [];

        $("input:checkbox[name=chkBox]:checked").each(function() {                
            car_type_arr.push($(this).val());
            alert(car_type_arr);
    }); 
});
});

演示:http://jsfiddle.net/XDpBP/

答案 4 :(得分:0)

你的代码应该是,

$().ready(function(){

        $('.prettycheckbox').click(function(e) {    

            e.preventDefault();

            var car_type_arr = [];

                $("input:checkbox[name=car_type]").each(function()
                        {

                              if($(this).is(':checked')){
                                car_type_arr.push($(this).val());
                              }
                        });  

            alert(car_type_arr);

            return false;
        });

});