当前位置: 首页 > 面试题库 >

如何使用jQuery通过Ajax发送复选框数组的值?

柴宝
2023-03-14
问题内容

我有一个带有很多表单字段(12 xn行)的表单。每行中的第一个字段(代表产品)是一个类似于以下内容的复选框:

<input type="checkbox" class="ids" name="ids[]" value="1">

每个复选框的值都是唯一的。

我正在尝试将检查后的值发送到PHP脚本以通过Ajax进行处理。我遇到的问题是将ID正确获取到服务器。我尝试使用以下几种方法:

$('.ids:checked').serialize();

var ids = [];
$('.ids:checked').each(function(i, e) {
    ids.push($(this).val());
});

$.ajax({
    url: "stub",
    type: "post",
    dataType: "json",
    data: {
        'ids[]': 'ids[]='+ids.join('&ids[]=')
    },
    success: function(data) {
        // stub
    }
});

但是这些都会导致在服务器上获取此信息:

ids[]=104&ids;[]=105

我可以序列化整个表单并将其发送过来,但是这可能导致发送的许多数据将不被使用。

如何仅将的值发送delete[]到服务器?理想情况下,PHP会将其识别为数组?

(我通过以逗号分隔的字符串形式发送ID来解决此问题,但由于我花了足够的时间来弄清楚它,因此我想知道如何完成此操作)。


问题答案:

这对我来说很好

<input type="checkbox" class="ids" name="ids[]" value="2">
<input type="checkbox" class="ids" name="ids[]" value="3">
<input type="checkbox" class="ids" name="ids[]" value="4">
<input type="checkbox" class="ids" name="ids[]" value="5">
<input type="checkbox" class="ids" name="ids[]" value="6">

<div id="response"></div>
<button id="submit">Submit</button>

<script>

$('#submit').click(function() {

$.ajax({
    url: "stub.php",
    type: "post",
    data: $('.ids:checked').serialize(),
    success: function(data) {
    $('#response').html(data);
    }
});


});
</script>

然后在stub.php上

var_dump($_POST);


 类似资料:
  • 问题内容: 我想通过jQuery的.ajax()在我的网站上提交一个POST表单,该表单包含一个textarea字段和一个输入字段(类型为“ checkbox”,其中复选框的数量为任意/可变)。PHP接收到textarea数据,并且ajax响应已正确显示给用户。但是,PHP似乎没有收到复选框数据(是否选中了复选框)。我该如何工作?这是我的代码: HTML: jQuery: 现在,PHP 一切正常:

  • 问题内容: 我想发送一个用JavaScript构造的数组,其中包含多个select的选定值。有没有一种方法可以使用ajax将此数组发送到php脚本? 问题答案: 您可以使用XML或JSON发回到服务器。您的javascript将必须构造该帖子,在XML的情况下,则需要您在javascript中创建它。JSON不仅轻巧,而且更易于在javascript中制作。签出JSON- PHP 来解析JSON。

  • 问题内容: 我一直在使用Serialize()将复选框形式的数据与Post()传递给可以容纳多个相同类别项目的购物篮。 当我使用“提交”按钮发布它们时,它可以很好地工作,并且可以将多个值传递并显示在一个类别下。 但是,当我使用Jquery serialize()时,每个类别仅显示一个项目,而总共仅显示两个类别。这是一个阵列问题,但我无法解决。 我应该使用替代的JQuery函数来传递多维数组吗? 问

  • 问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将

  • 问题内容: 我正在尝试使用j查询$ .ajax方法向我的php脚本发送多个数据,但是当我连接多个数据时我只能传递单个数据我的php脚本tat中出现未定义的索引错误,意味着发出了ajax请求,但没有数据发送,我需要知道如何格式化多个数据以依次将其发送到名称为vale对的处理脚本中,这是我写的 问题答案: 您可以创建一个键/值对的对象,jQuery将为您完成其余工作: 这样,数据将被自动正确编码。如果

  • 问题内容: 如何使用jQuery Ajax Post传递多个复选框 这是ajax功能 这是我的表格 问题答案: 从jQuery的POST文档(第3个示例): 因此,我只需要遍历复选框并构建数组即可。就像是