jQuery DatePicker проблема, когда на веб-странице используются несколько элементов с одинаковым именем класса

0

Следующим является мой весенний код mvc2

<c:forEach var="trackRecord"  varStatus = "number" items="${contractDetails.trackRecordEntries}" >
  <tr class="tafont">
      <td class="varcar"><form:input readonly = "true" id = "installmentNo" path="trackRecordEntries[${number.index}].installmentNo"/></td>

      <td class="varcar"><form:input cssClass="recievedDate" id = "recievedDate" path="trackRecordEntries[${number.index}].recievedDate"/></td>  
 </tr>
 </c:forEach>

он создает html файл, который имеет несколько элементов с тем же именем класса. Всякий раз, когда я нажимаю на любую всплывающее окно выбора даты элемента и работает правильно. но изменения, сделанные с помощью выбора даты, отражаются только в первом элементе, который имеет имя класса 'receivedEDate'. Поэтому для любых элементов выбора даты изменения производятся только в первом элементе.

Вот код выбора даты

 $( '.recievedDate').datepicker({
          dateFormat: 'dd/mm/yy',
          changeMonth:true,
          changeYear:true,
          maxDate: '0',
        });

Любые решения???

Теги:
spring-mvc

3 ответа

1

Устранена проблема, удалив атрибут id

<td class="varcar"><form:input cssClass="recievedDate"  path="trackRecordEntries[${number.index}].recievedDate"/></td>

хотел бы знать причину того же :)

1

Вам нужно будет обрабатывать более одного, поэтому попробуйте

$('.receivedDate').each(function(){
  $(this).datepicker({ 
      dateFormat: 'dd/mm/yy',
      changeMonth:true,
      changeYear:true,
      maxDate: '0',
    });
});
  • 1
    Это не помогло
  • 0
    Этот тип кода используется нашей компанией много-много раз, поэтому я думаю, у вас есть другая ошибка. Глядя на ваш код, я вижу «cssClass», но не «class», а также, как упоминалось ранее, «id» должен быть уникальным. Пожалуйста, разберитесь с HTML.
0

Когда ваш запрос будет выполнен, тогда ваш код будет иметь более одного идентификатора, recievedDate Таким образом, он не будет работать. Дайте другому id для datepicker и в jquery используйте этот способ

$( '.recievedDate','recievedDate1','recievedDate2').datepicker({
          dateFormat: 'dd/mm/yy',
          changeMonth:true,
          changeYear:true,
          maxDate: '0',
        });
  • 0
    Количество таких элементов не фиксировано. Так как я могу дать им идентификатор для использования с JQuery ??
  • 0
    @AbhishekSingh Я не уверен, сработает ли другой ответ или нет, но вы можете получить идентификаторы динамически, поэтому поместите его в массив и получите то же самое внутри $ ('.recieveDate')
Показать ещё 3 комментария

Ещё вопросы

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