我有一个设置存储时间的表格,如下所示:
<table class="table">
<tbody>
<tr>
<td tabindex="0">Monday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_1_open" name="day_1[]" value="16:00"></td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_1_close" name="close" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Tuesday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_2_open" name="open" value="16:00"></td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_2_close" name="close" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Wednesday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_3_open" name="open" value="16:00"> </td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_3_close" name="close" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Thursday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_4_open" name="open" value="16:00"> </td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_4_close" name="close" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Friday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_5_open" name="open" value="16:00"> </td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_5_close" name="close" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Saturday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_6_open" name="open" value="16:00"> </td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_6_close" name="close" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Sunday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_7_open" name="open" value="16:00"> </td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_7_close" name="close" value="00:00"></td>
</tr>
</tbody>
</table>
现在。为了获取数据,我使用以下jQuery代码:
var newTiming = new Array();
for(var n=1; n<=7; n++){
newTiming["day_"+[n]] = {"open": $("#day_"+n+"_open").val(), "close":$("#day_"+n+"_close").val()};
console.log(newTiming);
}
我的问题是,我可以在控制台中获取数据,但当我试图将数组存储到一个隐藏的文本字段中以将其传递给我的PHP时,我一无所获。
我试图通过以下代码将数组放入隐藏字段:
$("#deliveryTimings").val(JSON.stringify(newTiming));
我需要得到以下形式的数组:
"day_1" => array(
"open" => "16:00",
"close" => "00:00"
),
这是一个较大表单的一部分。我正在尝试通过jQuery保存每个部分。页面上没有标签和许多其他输入字段。我为每个部分设置的保存按钮会针对特定的部分。这就是为什么我不能使用serializeArray()?我使用这个jQuery代码来获取数据。
我希望得到这里社区的帮助。非常感谢。
更新:我通过使用Paul Maček的jQuery Serialize Object找到了最终的解决方案https://github.com/macek/jquery-serialize-object
您可以使用serializeArray()
来获取表单数据。要删除你的for
循环,你可以给你的一天打开和关闭字段name=""
,如下所示:
<tr>
<td tabindex="0">Monday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_1_open" name="day_1[open]" value="16:00"></td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_1_close" name="day_1[close]" value="00:00"></td>
</tr>
<tr>
<td tabindex="0">Tuesday</td>
<td><label class="Storeopen">Open</label></td>
<td><input type="time" id="day_2_open" name="day_2[open]" value="16:00"></td>
<td><label class="Storeclose">Close</label> </td>
<td><input type="time" id="day_2_close" name="day_2[close]" value="00:00"></td>
</tr>
通过像这样重命名字段,可以在服务器端获得按天数组织的数据。