aw1*_*986 5 php arrays jquery load input
好的,我一直在寻找和寻找约两周的时间,我还没有找到我需要弄清楚的东西,所以现在是时候向专家们询问了!
我正在制作广告管理系统,请求表单的其中一个部分是选择广告的开始和结束日期.用户可以选择添加更多日期.
所以,最初有两个输入......
<input type="text" name="startDate[]" id="startDateInput">
<input type="text" name="enddate[]" id="endDateInput">
Run Code Online (Sandbox Code Playgroud)
然后,在此下面是动态添加更多输入的选项.当用户添加更多输入时,它只是复制那些初始输入,因此我们最终会有更多实例.例如:
<input type="text" name="startDate[]" id="startDateInput">
<input type="text" name="enddate[]" id="endDateInput">
<input type="text" name="startDate[]" id="startDateInput">
<input type="text" name="enddate[]" id="endDateInput">
Run Code Online (Sandbox Code Playgroud)
有没有办法使用.load()将这些输入的结果作为数组发送?我有它发送和显示一组输入的信息与下面的代码...
var startDate = $("#startDateInput").val();
var endDate = $("#endDateInput").val();
$("#adBooking").show().load('../scripts/checkSpots.php', { startDate: startDate, endDate: endDate});
Run Code Online (Sandbox Code Playgroud)
我想我不是100%了解如何做到这一点.过去两周我一直在绞尽脑汁,但我找不到与我正在做的事情完全相关的事情.
但是,我需要做的是从所有startDate和endDate输入中生成一个数据数组,然后通过.load()和checkSpots.php页面将其抛出并让它显示每组start /的信息结束日期.
有没有不同的方式这样做?也许是一种更有效的方式?或者,如果有人能够对这个破碎的jQuery noob有所了解,我会非常感激它!:d
- 演示: http: //jsbin.com/etihaw/3
$(function() {
$("#add-date").click(function(e) {
var i = $('.end-date').length + 1;
$('<p class="dates">' +
'<input class="start-date" name="startDate[' + i + ']" id="startDate' + i + '" />' +
'<input class="end-date" name="endDate[' + i + ']" id="endDate' + i + '" />' +
'</p>').insertAfter('.dates:last');
e.preventDefault();
});
$('#my-form').submit(function() {
var post_data = $(this).serialize();
//$("#adBooking").show().load('../scripts/checkSpots.php', post_data);
alert(post_data);
return false;
});
Run Code Online (Sandbox Code Playgroud)
PHP
<?php
foreach($_POST['startDate'] as $key => $val ) {
echo $key; // 1
echo $val; // 07/12/2011
}
foreach($_POST['endDate'] as $key => $val ) {
echo $key; // 1
echo $val; // 09/12/2011
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1675 次 |
| 最近记录: |