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);
}
});
});

当页面呈现时,每个文本框都会按预期创建一个日历,但它总是将日期放入第一行的文本框中。我需要日期进入日历旁边出现的文本框。上面代码的 html 看起来不错:

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

有趣的是,如果我简单地创建 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 回答