【问题标题】:How to store all checkbox id and values in a 2D array and and to php pages using ajax?如何将所有复选框 id 和值存储在 2D 数组中并使用 ajax 存储到 php 页面?
【发布时间】:2019-01-04 11:16:13
【问题描述】:

我有一个输入 type=checkbox,其中包含来自 1-10id。我需要选择一些复选框,当我单击特定的单击事件时,我需要将所有复选框值 (1-0/ checked-not checked)ids 存储在二维数组中,并使用 ajax 发送到 php 页面。

<input type="checkbox" id='1' name="ppackages" class="success">
var popularpackages = [];

$("input:checkbox").each(function(){
    var $this = $(this);
      popularpackages.push($this.attr("id"));
});

alert(popularpackages);

输出为1,2,3,4,5,6,7,8,9,10 但我需要(id,checked/not checked) (1,1),(2,0),.....(10,0)

【问题讨论】:

  • 您的意思是需要[{"id1":"1"},{"id2":"0"},{"id3":"0"},...] 格式还是需要像{1:0,2:1,...} 这样的平面对象? @RoryMcCrossan 的建议到底有什么问题?

标签: php jquery ajax


【解决方案1】:

为此,您可以使用map() 构建数组,然后将idchecked 属性作为子数组返回,如下所示:

var popularpackages = $("input:checkbox").map(function() {
  return [[parseInt(this.id, 10), this.checked ? 1 : 0]];
}).get();

console.log(popularpackages);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="1" name="ppackages" class="success" checked="checked" />
<input type="checkbox" id="2" name="ppackages" class="success" />
<input type="checkbox" id="3" name="ppackages" class="success" />
<input type="checkbox" id="4" name="ppackages" class="success" />
<input type="checkbox" id="5" name="ppackages" class="success" checked="checked" />
<input type="checkbox" id="6" name="ppackages" class="success" />
<input type="checkbox" id="7" name="ppackages" class="success" />
<input type="checkbox" id="8" name="ppackages" class="success" />
<input type="checkbox" id="9" name="ppackages" class="success" checked="checked" />
<input type="checkbox" id="10" name="ppackages" class="success" />

然后您可以像往常一样使用$.ajax 或任何jQuery 的其他AJAX 方法将popularpackages 数组发送到您的PHP 逻辑。

【讨论】:

  • this.id, 10 中的 10 是什么?
  • 好的,没关系。输出是正确的。我可以创建流行包的对象并使用 ajax 将相同的对象发送到 php 页面。 as var objdata = new FormData(); objdata.append("popularpackages",popularpackages);
  • 我的意思是说我还需要在php中使用多个更新查询来更新带有值的id
  • 我会问一个单独的问题,因为它涉及在 PHP 中处理请求。这个问题是关于创建要通过JS发送的数组。
猜你喜欢
  • 1970-01-01
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-27
  • 2012-12-11
  • 2014-03-31
相关资源
最近更新 更多