【问题标题】:jQuery, ajax multiple checkboxes into $_POST arrayjQuery,ajax 多个复选框到 $_POST 数组
【发布时间】:2013-03-27 14:57:35
【问题描述】:

我正在尝试将 $_POST 数据发送到另一个页面,以便为简单的购物车添加会话。

我在 PHP while 循环中有多个表单,每个表单都有多个复选框,除了复选框之外,一切都可以正常工作。

我的问题是如何更改这段代码以将“item_extras”更改为数组?

if(this.checked) item_extras = $(this).val();

我尝试了以下方法,但这只是创建了包含所有值的一行,而不是数组中的另一行。如果这太令人困惑,如果有帮助,我可以创建一个示例。

if(this.checked) item_extras += $(this).val();

$('form[id^="add_item_form"]').on('submit', function(){
    //alert("On Click Works");
    event.preventDefault();
    addItem($(this));
});

function addItem(ele) {
    //alert("I'm in the addItem Function");
    var item_id = ele.parent().parent().find("input[name=item_id]").val(); // get item id
    var item_name = ele.parent().parent().find("input[name=item_name]").val(); // get item name
    var item_options = ele.parent().parent().find('#options').val(); // get selected option
    var item_extras = "";

    $item_extras = ele.parent().parent().find('input[name^="extra"]'); // find all extras

    $item_extras.each(function() {
        if(this.checked) item_extras = $(this).val(); // how do i make this into an array???
    });

    alert("BEFORE AJAX");

    var dataString = 'item_id=' + item_id + '&item_name=' + item_name + '&item_options=' + item_options + '&item_extras[]=' + item_extras;

    alert(dataString);

    $.ajax({
        type: "POST",
        cache: false,
        url: "includes/cart.php",
        data: dataString,
        success: function () {
            $.ajax({
                url: 'includes/cart.php',
                success: function(data) {
                $('#cart').html(data);
                alert("AJAX SUCCESS");
                }
            });
        }
    });

    return false;
}

【问题讨论】:

  • 试试item_extras += '&item_extras[]=' + $(this).val();
  • 您是否在表单中使用了数组名称?
  • 感谢维克多辛苦了 :)

标签: php jquery ajax arrays checkbox


【解决方案1】:

您可以使用序列化方法。 Form.serialize()

$( "form" ).on( "submit", function( event ) {
  event.preventDefault();
   var data = $(this).serialize();
});

【讨论】:

    猜你喜欢
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2016-04-19
    • 2011-06-27
    • 1970-01-01
    相关资源
    最近更新 更多