考虑这个用例。
我有一个表(<table>
),它使用户能够输入在给定的一周内花费在给定项目上的时间。
例如。
--------------------------------------
|Project ID: | Monday | Tuesday | ...|
| 123 | 7:15 | 3:45 | ...|
| 124 | 1:15 | 0:45 | ...|
| 125 | 0:00 | 0:00 | ...|
然后,我需要在用户输入所有这些行后回发它们。我之前做过类似的事情,在这里我有单独的表单来描述每一行,然后用 jQuery 遍历它们,以构建一个 JSON 对象,将它们作为一个数组包含在内。
每行的结构:
<tr>
<form name="RowData">
<input type="hidden" Name="ProjectID" value="123" />
<input type="hidden" Name="Monday" value="..." />
<input type="hidden" Name="Tuesday" value="..." />
</form>
<td></td> <!-- Containing the text input and so forth -->
<td></td>
<td></td>
</tr>
回发结构:
json:{
rows:[
{
ProjectID: 123,
Monday: '7:15',
Tuesday:'3:45', // etc...
},
{
ProjectID: 124,
Monday: '1:15',
Tuesday:'0:45'
}, // etc...
]
}
*请注意,这并不是我将如何发送数据的实际表示,而只是一个让您了解我的思维方式的结构*
但我觉得必须有更好更直观的方法来做到这一点。在 HTML 或 Javascript 中存储复杂的结构,以便通过 AJAX 更轻松地回发。
我将其存储在 Javascript 中的问题是使其与页面和用户看到的内容保持同步。
如果你们中的一些人有更好的方法,请告诉我,并可能详细解释它是如何工作的,以及为什么它是更好的方法。