如何在ajax中传递复选框值0或1?

时间:2016-02-05 06:35:29

标签: javascript php ajax

AJAX

$.ajax({
            url: $('#MAINURL').val() + "admin/ajax/ajax_homedisplay.php",
            data: [
                {name: 'mode', value: 'update'}
                , {name: 'slider', value: htmlEncode($('#slider').val())}
                , {name: 'welcomebox', value: htmlEncode($('#welcomebox').val())}
                , {name: 'servicebox', value: htmlEncode($('#servicebox').val())}

            ],

这里的滑块,welcomebox,servicebox是一个复选框,如果选中复选框,则要传递0或1值,否则为0。

目前只插入1个天气,或者不插入1个。

我想在选中复选框时插入1,并且在未选中复选框时插入0。

4 个答案:

答案 0 :(得分:0)

尝试类似:

{name: 'welcomebox', value: $('#welcomebox').is( ":checked" )? 1 : 0}

或者:

{name: 'welcomebox', value: $('#welcomebox').attr( "checked" )? 1 : 0}

jsperf表明以下方式最快:

{name: 'welcomebox', value: document.getElementById('welcomebox').checked? 1 : 0}

答案 1 :(得分:0)

你可以使用它,

$.ajax({
            url: $('#MAINURL').val() + "admin/ajax/ajax_homedisplay.php",
            data: [
                {name: 'mode', value: 'update'}
                , {name: 'slider', value: htmlEncode($('#slider').val())}
                , {name: 'welcomebox', value: htmlEncode($('#welcomebox').attr('checked'))}
                , {name: 'servicebox', value: htmlEncode($('#servicebox').attr('checked'))}

            ],

由于 阿米特

答案 2 :(得分:0)

请试试这个

var welcomechk = 0;
var servicechk =0;

if($('#welcomebox').is(":checked"))
    welcomechk =1;

if($('#servicebox').is(":checked"))
    servicechk =1;  



$.ajax({
            url: $('#MAINURL').val() + "admin/ajax/ajax_homedisplay.php",
            data: [
                {name: 'mode', value: 'update'}
                , {name: 'slider', value: htmlEncode($('#slider').val())}
                , {name: 'welcomebox', value: htmlEncode(welcomechk)}
                , {name: 'servicebox', value: htmlEncode(servicechk)}

            ],

答案 3 :(得分:0)

示例:

var day = document.getElementById('checkboxId');

if(day.checked == true){
    var VarName = "1";
}
if(day.checked == false){
    var VarName = "0";
}