На моей странице JSP добавляется сборщик дат в каждой строке таблицы. Мне нужно сохранить дату в базе данных при выборе новой даты. Ниже приведен код, который я сделал:
<table id="track" width="100%">
<tbody>
<c:forEach items="${itemList}" var="items" varStatus ="status">
<tr>
<td>
${items.id}
</td>
<td>
<input type='text' id="creationDate_${items.id}" name="creationDate_${items.id}" class="creationDatePicker" value = "${items.createdOn}" readonly="readonly" />
</td>
</tr>
</c:forEach>
И мой JSP:
$('.creationDatePicker').datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function (date) {
// Code to update date in table.
}
});
Как я могу получить соответствующий идентификатор элемента при изменении даты?
Вы можете поместить скрытое поле рядом с datepicker td и добавить выбранную дату в этом скрытом поле ввода.
Теперь при сохранении вы можете получить доступ к идентификатору и выбранной дате.
$('.creationDatePicker').datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function (date) {
var id=$(this).closest('tr > td:eq(0)').html();
//Set selected date to input hiddenfield here
}
});
вы устанавливаете ввод id="creationDate_${items.id}"
, просто удалите 'creationDate_' из значения id и получите идентификатор элемента, как id="creationDate_${items.id}"
ниже
$('.creationDatePicker').datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function (date) {
var inputId = $(this).attr('id');
var itemId = inputId.replace('creationDate_','');
alert(itemId); // this is the item id required
}
});