jQuery Ajax将多个复选框值发送到php

时间:2018-08-07 05:23:02

标签: php jquery ajax

我试图序列化而不是推元素值,但是仍然得到没有值的数组。请任何人帮助我找出我的问题 这就是我想要的

<input type="checkbox" class="benf" name="benf[]" value="Angelus">

var arr=[];
        $('input[name*="benf"]').each(function(){
            if($(this).attr('checked')){
                arr.push($(this).attr('value'))
            }
        });
        var p = $('input .benf').serializeArray();
        console.log(p);
        console.log(arr);
        $.ajax({
            url:'myphp.php',
            type:'post',
            dataType:'text',
            data:{mylist:arr},
            success:function(data){
                console.log(data);
            },
            error:function(xx){
                console.log(xx);
            }
        });

2 个答案:

答案 0 :(得分:0)

您可以这样做:

 var arr=[];

    $("input:checkbox[name*=benf]:checked").each(function(){
         arr.push($(this).val());
    });
    var p = $('input.benf').serializeArray();
    console.log(p);
    console.log(arr);
    $.ajax({
        url:'myphp.php',
        type:'post',
        dataType:'text',
        data:{mylist:arr},
        success:function(data){
            console.log(data);
        },
        error:function(xx){
            console.log(xx);
        }
    });

答案 1 :(得分:0)

var arr=[];
         $.each($("input[name='approve_blog']:checked"), function(){            
                arr.push($(this).val());
        });

        console.log(arr);
        $.ajax({
            url:'myphp.php',
            type:'post',

            data:{'mylist' : arr },
            success:function(data){
                console.log(data);
            },
            error:function(xx){
                console.log(xx);
            }
        });
<input type="checkbox" class="blog_checkbox" name="approve_blog"   value="1"  />
<input type="checkbox" class="blog_checkbox" name="approve_blog"   value="2"  />