Php 我可以在同一个脚本上发布选中和未选中的框值吗

Php 我可以在同一个脚本上发布选中和未选中的框值吗,php,jquery,Php,Jquery,我希望在同一个脚本上同时获得选中框和未选中框的值。我在脚本中使用的方法不起作用,请帮助我克服这个问题。我想在不使用提交按钮的情况下获取多个复选框值。是否可以同时获取复选框值的两种状态 $(“输入[type=checkbox]”)。在(“更改”,函数()上{ var-id=[]; var dis=[]; $('input[type=checkbox]:checked')。每个(函数(){ id.push($(this.val()); }); $('input[type=checkbox]:未选中

我希望在同一个脚本上同时获得选中框和未选中框的值。我在脚本中使用的方法不起作用,请帮助我克服这个问题。我想在不使用提交按钮的情况下获取多个复选框值。是否可以同时获取复选框值的两种状态

$(“输入[type=checkbox]”)。在(“更改”,函数()上{
var-id=[];
var dis=[];
$('input[type=checkbox]:checked')。每个(函数(){
id.push($(this.val());
});
$('input[type=checkbox]:未选中')。每个(函数(){
dis.push($(this.val());
});
//var allCheckboxes=$(“.form1”).find(“.checkboxes”)
//var unchecked=所有复选框。未选中(“:checked”);
dis=dis.toString();
ids=ids.toString();
$.ajax({
url:“dummeyodcheckbox.php”,
类型:“POST”,
async:true,
cache:false,
数据:({
值:ids,
未选中:dis
}),
数据类型:“文本”,
成功:功能(数据){
警报(“活动已提交”);
}
});
});

序号

复选框

活动名称

1. /> 生化需氧量2 3. /> 生化需氧量
问题在于jQuery中没有
:未选中的
选择器。相反,您可以使用
:not(:checked)
,如下所示:

$('input[type=checkbox]:not(:checked)').each(function() {
  dis.push($(this).val());
});
我还建议您使用
map()
使数组构建更加简洁,并且使用
join()
数组而不是使用
toString()


您还应该考虑从Ajax请求返回XML或JSON。代码>文本

很容易被空格不一致打破。

您可以使用输入
type=“hidden”
来存储复选框的值

$("input[type=checkbox]").on("change", function() {
  var ids = $('input[type=checkbox]:checked').map(function() {
    return this.value;
  }).get();
  var dis = $('input[type=checkbox]:not(:checked)').map(function() {
    return this.value;
  }).get()

  $.ajax({
    url: "dummyeodcheckbox.php",
    type: "POST",
    cache: false,
    data: ({
      value: ids,
      unchecked: dis,
    }),
    dataType: "text",
    success: function(data) {
      console.log("activitysubmitted");
    }
  });
});