Как повторить иконку jquery datepicker?

0

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

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

См. Ниже код:

<c:forEach items="${list}" var="product">
        <tr>
            <td>${product.prodname}</td>
            <td>${product.version}</td>
            <td>${product.end_date}</td>
             <td><input type="text" id="datepicker" name="new_end_date" value="<jsp:getProperty name="licenseupdate" property="new_end_date" />" style="width:100" />
         </tr>
    </c:forEach>

Функция JQuery:

$(function() {
$( "#datepicker" ).datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true
});
});

Пожалуйста, сообщите, почему я не получаю повторение выбора даты?

Теги:

1 ответ

1
Лучший ответ

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

<td><input type="text" class="datepicker" name="new_end_date" value="<jsp:getProperty name="licenseupdate" property="new_end_date" />" style="width:100" />

тогда

$(function() {
$( ".datepicker" ).datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true
});
});

Когда используется ID-селектор и есть несколько элементов с одинаковым идентификатором, тогда он будет выбирать только самый первый элемент с идентификатором, поэтому в вашем случае виджет datepicker не был инициализирован для других элементов

  • 0
    Большое спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню