我使用jTemplates插件在我的表上加载数据。因为有些属性我还没有显示,但我希望以后可以使用,我将它们保存在隐藏字段中,然后通过它们的 CSS 的类名和 jQuery 的siblings
方法来获取它们。
这是进行此类操作的正确方法,还是会被认为是糟糕的代码?
<script type="text/javascript">
$(function() {
$("#edit").click(function(e) {
e.preventDefault();
var $this = $(this);
var date = {
Id: $this.siblings(".tid").val(),
StartDate: $this.siblings(".tdate1").val(),
EndDate: $this.siblings(".tdate2").val(),
ClientId: $this.siblings(".tclient").val(),
UserId: $this.siblings(".tuser").val()
};
processDate(date);
});
});
</script>
<textarea id="template" class="ui-helper-hidden">
<table id="dates">
<thead>
<tr>
<th>Id</th>
<th>Start Date</th>
<th>End Date</th>
<th>Client</th>
<th></th>
</tr>
</thead>
<tbody>
{#foreach $T as record}
<tr>
<td>{ $T.record.Id }</td>
<td>{ formatDate($T.record.StartDate) }</td>
<td>{ formatDate($T.record.EndDate) }</td>
<td>{ $T.record.Client.Name }</td>
<td>
<button id="edit">Edit</button>
<input type="hidden" class="tid" value='{ $T.record.Id }' />
<input type="hidden" class="tdate1" value='{ $T.record.StartDate }' />
<input type="hidden" class="tdate2" value='{ $T.record.EndDate }' />
<input type="hidden" class="tclient" value='{ $T.record.Client.Id }' />
<input type="hidden" class="tuser" value='{ $T.record.User.Id }' />
</td>
</tr>
{#/for}
</tbody>
</table>
</textarea>
建议将被欣然接受。:)