2016-02-12 3 views
0

У меня возникла проблема, когда я могу получить только функцию календаря Datepicker для работы только в поле «ModfiyStatusDate» моей таблицы. Вот мое определение таблицы и фактическая функция.Получение функции datepicker для работы во всех строках в таблице

  $(function() 
      { 
      $("#ModifyStatusDate").datepicker({ 
       dateFormat: "yy-mm-dd" 
       }); 
      }); 



     <tr> 
      <td align="center"> 
       <input style="width:50px;" type="checkbox" id="selectedSched" 
         name="selectedSched" value="<c:out value="${schedcombo}"/>"/> 
      </td> 

      <td id="ModifyScheduleNumber"><c:out value="${row.getSCHEDULE_NUMBER()}" /></td> 
      <td id="ModifyYear"><c:out value="${row.getEFT_CONTRACT_YEAR()}" /></td> 
      <td id="ModifyCreationDate"><c:out value="${row.getCREATION_DATE()}"/></td> 
      <td style="text-align: right; padding-right: 5px;"><c:out value="${row.getNUM_OF_PAY_RECORDS()}"/></td> 
      <td style="text-align: right; padding-right: 5px;"><c:out value="${schedTotl}"/></td> 
      <td><select style="width:45px;" size="1" id="ModifyStatus" 
       name="ModifyStatus_<c:out value="${schedcombo}"/>" class="combosmall"> 
       <c:forEach items="${ModifyList}" var="statusValue"> 
         <option value="${statusValue}" 
         <c:if test="${statusValue == UpdCMDStatus}"> selected="selected"</c:if> 
           >${statusValue}</option> 

       </c:forEach> 
       </select> </td> 
      <td> 
       <input style="width:85px" id="ModifyStatusDate" 
        name="ModifyStatusDate_<c:out value="${schedcombo}"/>" 
         type="text" class="texttable" value="${row.getSTATUS_DATE()}"/> 
         </td> 
      <td><c:out value="${row.getAPPR_HUD_EMPLOYEE()}"/></td> 
    </tr> 

Я посмотрел на аналогичные вопросы, и кажется, что я должен изменить свой «ID» атрибут, чтобы сделать его уникальным, как «имя» атрибут, который мне нужен для обработки сервлетов. Это правда, или я могу работать с использованием только того, что у меня есть? Если мне нужно изменить идентификатор, тогда почему он работает только в первой строке?

Благодаря

+0

Используйте класс как селектор, укажите все поля ввода, которые должны работать с подборщиком того же класса. –

+0

Возможный дубликат [jQuery Datepicker для нескольких входов] (http://stackoverflow.com/questions/10803518/jquery-datepicker-for-multiple-inputs) –

ответ

0

Я был в состоянии получить календарь, чтобы показать на все строки. Я изменил свою функцию, чтобы показать:

 $("input[id$='ModifyStatusDate']").datepicker({ 
       dateFormat: "yy-mm-dd" 
     }); 

Теперь у меня есть вопрос, где, если я пытаюсь изменить дату на 2-м ряду, например, он обновляет дату на 1-й строке все время. Поэтому, как обычно, я решил одну проблему с другой проблемой.

+0

Это потому, что идентификатор предназначен для уникальных элементов, использование его дважды не будет работать , –

+0

Если я добавлю уникальный идентификатор в поле, будет ли поле обновлять значение в указанной строке или мне еще нужно добавить код в функцию «OnSelect» (я думаю), чтобы это сделать. Также мне нужно изменить вызов функции datePicker, чтобы сделать что-то вроде 'id^= ModifyStatusDate, чтобы получить все из них? Спасибо – hammerva

+0

Как я уже упоминал в своем первом комментарии - используйте класс. На самом деле этот вопрос уже ответил (несколько раз). http://stackoverflow.com/questions/10803518/jquery-datepicker-for-multiple-inputs –