0

この質問の作業を簡素化しましたが、同じ問題が残ります。このモデルの項目をループするときに、Textbox HTML ヘルパーを使用して空のテキスト ボックスを表示しています。

<% foreach (var item in Model) { %>

<tr>
<td><%: item.ID %></td>
<td><%: Html.TextBox("usernames", null, new { @class = "datepicker" }) %></td>
<td><%: item.Password %></td>
<td> <%: item.Race %></td>
</tr>

<% } %>

私はいくつかの行を持っているので、これはすべてクラス「datepicker」を持ついくつかのフィールドを生成します。日付ピッカーに次の JQuery を適用しています。

$(document).ready(function () {
$('input').filter('.datepicker').datepicker({
dateFormat: "dd/mm/yy",
onSelect: function (value, date) {
alert(this.value);
}
});
});

ページがレンダリングされると、すべてのテキストボックスが期待どおりにカレンダーを作成しますが、常に日付を 1 行目のテキストボックスに入れます。カレンダーが横に表示されたテキストボックスに日付を入力する必要があります。上記のコードの html は問題ないようです。

<tr>
<td>6</td>
<td><input class="datepicker" id="usernames" name="usernames" type="text" value="" /></td>
<td>dinosaur</td>
<td> 1</td>
</tr>

興味深いことに、クラス「datepicker」を 4 つ作成するだけで、すべて問題ありません。これは、html ヘルパーが作成する方法です。

助けてください!

4

1 に答える 1

3

答えは、生成されるテキストボックスに以下のような一意の ID を与えることです。そうしないと機能しません。

<% foreach (var item in Model) { %>

<tr>
<td><%: item.ID %></td>
<td><%: Html.TextBox("usernames", null, new { ID=item.ID @class = "datepicker" }) %></td>
<td><%: item.Password %></td>
<td> <%: item.Race %></td>
</tr>

<% } %>
于 2010-06-24T18:36:14.813 に答える