【问题标题】:Jquery post not working , send multiple selected checkbox through jquery to php scriptJquery帖子不起作用,通过jquery将多个选中的复选框发送到php脚本
【发布时间】:2013-08-06 06:27:34
【问题描述】:

在 php 脚本中,当我回显 $_POST['AllItems '] 时,它只显示最后选择的值 而不是一整串值或数组。

下面是正在使用的javascript:

$(function () {
    $('#senditems').click(function () {
        var items = $('input[name^="item"]:checked').map(function () {
            return this.value;
        }).get();

*****************************
  //here when i do alert(items); ,
 then it shows comma separated values - 1,22,321
****************************


        $.post("saveitems.php", {
            AllItems: items
        });
    });
});

形式是:

    <form>

    <input type="checkbox" name="items[1]" value="1" />
<input type="checkbox" name="items[22]" value="22" />
<input type="checkbox" name="items[321]"  value="321" />

    </form>

【问题讨论】:

  • AllItems 是一个复选框数组吗?您也可以发布表单的代码吗?
  • @Maximus2012 : 亲爱的先生,items 是选中复选框的集合,我也添加了表单代码。
  • @palaѕн:先生,正在更新它,现在完成了。
  • 您的 js 代码的第一部分似乎是正确的,就像在这个 fiddle 中一样。您在控制台中收到任何错误吗?试试.done(function() {...}.fail(function() {...}看看有没有错误或者ajax调用成功!
  • @billyonecan :不,先生,我不是,但直接发布它,你能在浏览器中试一试。我也认为构建“项目”可能存在问题?我的意思是我必须这样做:' var items +=' 而不是 ' var items = '

标签: php jquery arrays post checkbox


【解决方案1】:

这就是您的表单的外观。

<form id="my_form">

  <input type="checkbox" name="items[]" value="1" />
  <input type="checkbox" name="items[]" value="22" />
  <input type="checkbox" name="items[]"  value="321" />

</form>

然后在你的 php 中,你可以遍历所有的 $_POST['items']

如果你想使用 jQuery 发布,你可以使用它,但不是必须的,你可以在表单中的 html 中添加方法和操作:

$('#senditems').on('click', function(){
    var form_data = $('#my_form').serialize();

    $.post({
        url: "your_php.php",
        data: form_data
    }); 
});

【讨论】:

  • 按照我发布的方式迭代会更容易。否则,您必须手动检查每个是否有效。我从来没有像你那样做过。
  • 删除索引不会有任何影响
  • @billyonecan :我通过 jquery 发布项目值,然后在 php 脚本中回显这些值,但它只显示一个值
猜你喜欢
  • 2012-03-18
  • 2018-12-15
  • 2011-01-15
  • 1970-01-01
  • 1970-01-01
  • 2011-09-23
  • 2017-03-14
  • 2021-06-01
  • 1970-01-01
相关资源
最近更新 更多