我已经在这个问题上挣扎了好几个小时了。
基本上,我需要做的是采用以下或类似的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获取类似于以下内容的数组:
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);
});
我是在正确的轨道还是我绝望地失去了?
答案 0 :(得分:1)
也许是一个简单的序列化。
来自:api.jquery.com/jQuery.post /
Example: Send form data using ajax requests
$.post("test.php", $("#testform").serialize());
答案 1 :(得分: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);
});
希望它有所帮助...
答案 2 :(得分:0)
你不需要jquery,你拥有的HTML标记将为php提供一个数组。将输入封装在一个发布到php脚本的表单中以处理逻辑。然后,您可以通过以下方式访问您的信息:
$_POST['excp'][0]['date']