JQuery Datepicker для нескольких полей ввода .NET MVC не работает - PullRequest
0 голосов
/ 24 июня 2010

Я упростил работу над этим вопросом, но та же проблема остается.Я использую помощник 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 класса "DatePicker" все в порядке.Это способ, которым HTML-помощники создают для вас.

Пожалуйста, помогите!

1 Ответ

3 голосов
/ 24 июня 2010

Ответ заключается в том, чтобы дать сгенерированным текстовым полям уникальный идентификатор, как показано ниже, иначе он не будет работать.

<% 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>

<% } %>
...