我正在尝试动态地通过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发送。