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>
提案は喜んで受け入れられます。:)