在 jQuery/JavaScript 中动态分配对象属性以通过 ajax 发布


Dynamically assign object properties in jQuery/JavaScript to post through ajax

我正在尝试动态地通过ajax发送JavaScript对象属性。

这是我所做的:

    var checkBoxName = $(this).attr('name');
    var postData = {
        Module: ModuleID,
        Group:GroupID
    };
    if($(this).is(":checked")){
        postData.checkBoxName = 1;
    }else{
        postData.checkBoxName = 0;
    }
    $.ajax({
       url: "<?php echo base_url(); ?>user_site/user_group_add_pri/updatePrivilege",
        data:postData,
        type: "POST",
        success: function (output) {
            console.log(output);
        }

我有多个复选框。 每个复选框都有不同的名称,所以我要做的是使用复选框名称及其值将数据发布到控制器。

但相反,它为所有复选框发送复选框名称。

我的意思是CheckBoxName是一个变量,但我这样使用它,因为我认为它会发送它的值,但它没有发送。

postData.checkBoxName =尝试过,但它不是变量的值,而是作为文本发送?

<小时 />

更新

更改复选框值时发生的事件。

        $("input[type='checkbox']").on('change',function(e){
///Above Code Inside Here
}

如果我理解正确,我可能会有一个想法。

您可以遍历所有复选框并检查它们是否已选中。然后将其推送到选项卡中并通过 ajax 发送:

var infoCb = new Array();
$('input[type=checkbox]').each(function(){
    var tempArray = {
        'nameOfCb' : $(this).attr('name'),
        'value' : $(this).attr('checked')
    }
    infoCb.push(tempArray);
});

然后通过Ajax发送。