0

我已经为这个问题苦苦挣扎了几个小时了。

本质上,我需要做的是采用以下或类似的 HTML:

<div id="excpdivs">
<div class="excpdiv" id="excpdiv0">
      Date: <input name="excp[0][date]">
      Open:  <input name="excp[0][open]">
      Close: <input name="excp[0][close]">
</div>
<div class="excpdiv" id="expdiv1">
      Date: <input name="excp[1][date]">
      Open:  <input name="excp[1][open]">
      Close: <input name="excp[1][close]">
</div>

并通过 AJAX 将类似于以下内容的数组获取到 php 脚本中:

   Array
(
    [0] => Array
        (
            [date] => 2012-09-15
            [open] => 3:00
            [close] => 5:00
        )
   [1] => Array
        (
            [date] => 2012-09-16
            [open] => 2:00
            [close] => 5:00
        )

)

我的主要问题是从输入元素中获取值。我最近的尝试如下:

    var results = [];
$(".excpdiv").each(function(){
    var item = {};
    var inpts = $(this).find("input");
    item.date = $(inpts.get(0)).val();
    item.open = $(inpts.get(1)).val();
    item.close = $(inpts.get(2)).val();
    results.push(item);
});

我是在正确的轨道上还是我绝望地迷失了方向?

4

3 回答 3

1

也许是一个简单的序列化。

来自:api.jquery.com/jQuery.post/

Example: Send form data using ajax requests


$.post("test.php", $("#testform").serialize());
于 2013-05-09T09:59:58.663 回答
0

我认为你应该这样做

var results = [];
$(".excpdiv").each(function(){
    var item = {};
    var inpts = $(this).find("input");
    item.date = $(inpts)[0].val();
    item.open = $(inpts)[1].val();
    item.close = $(inpts)[2].val();
    results.push(item);
});

希望能帮助到你...

于 2012-12-05T05:02:28.403 回答
0

您不需要 jquery,您拥有的 HTML 标记将为 php.ini 提供一个数组。将输入包含在发布到 php 脚本以处理逻辑的表单中。然后,您可以通过以下方式访问您的信息:

$_POST['excp'][0]['date']
于 2012-12-05T05:02:29.970 回答