我正在使用datepicker来允许用户选择日期。我不能改变格式。
我一直在尝试基于这里找到的示例,比如dateFormat,甚至是format,但仍然不起作用
下面是我如何将datepicker添加到我的表中
$(document).ready(function() {
$("#btnView").click(function() {
if (!Array.isArray(aItems) || !aItems.length) {
document.getElementById('btnSubmit').style.visibility = 'hidden';
}
else {
document.getElementById('btnSubmit').style.visibility = 'visible';
var html2 = '';
$.each(aItems, function(i, post) {
let oQtyModal = "itemqtymodal_" + i;
let oDate = "iDate_" + i;
html2 += '<tr>';
html2 += '<td>' + post["NEW_ITEM-MATNR"] + '</td>';
html2 += '<td>' + post["NEW_ITEM-MATGROUP"] + '</td>';
html2 += '<td>' + post["NEW_ITEM-DESCRIPTION"] + '</td>';
html2 += '<td>' + post["NEW_ITEM-PRICE"] + '</td>';
//html2 += '<td>' + post["NEW_ITEM-QUANTITY"] + '</td>';
html2 += '<td>' + '<input type="text"' + 'onchange="getQty(this)"' + 'name="' + oQtyModal + '"' + 'id="' + oQtyModal + '"' + 'value='+post["NEW_ITEM-QUANTITY"]+'>' + '</td>';
html2 += '<td align="center">' + post["NEW_ITEM-UNIT"] + '</td>';
html2 += '<td>' + post["NEW_ITEM-CUST_FIELD1"] + '</td>';
html2 += '<td>' + '<input type="text"' + 'class="datepicker"' + 'id="' + oDate + '"' + 'value='+post["NEW_ITEM-CUST_FIELD2"]+'>' + '<i class="far fa-calendar-alt" style=' + 'font-size:24px;color:#1E90FF' + '></i></></td>';
html2 += '<td>' + '<input type="button" onClick="deleteProduct(this)" value="Delete Item" />' + '</td>';
html2 += '</tr>';
$('#table2 tbody').html(html2);
});
var dateToday = new Date();
$('.datepicker').datepicker(
{
changeYear: true,
changeMonth: true,
format: 'dd/mm/yyyy',
autoclose: true,
startDate: new Date()
});
}
});
});获取日期数据和更新数组的主要代码如下
$(document).on("change", ".datepicker", function(){
var oDate = $(this);
var aIndex = oDate[0].id.split('_');
aItems[aIndex[1]]["NEW_ITEM-CUST_FIELD2"] = document.getElementById(oDate[0].id).value
});编辑:它现在可以工作了。以上代码已更新。
发布于 2019-07-23 13:53:51
我会试着给出更详细的答案。你的错误是初始化Datepicker两次。第一次-没有dateFormat。当你用dateFormat第二次调用它时,它已经被初始化了。相反,如果您计划重用相同的Datepicker对象,则应将其赋给一个变量。
已更新以反映问题代码更改
$('input.datepicker').datepicker({ dateFormat: 'dd/mm/yyyy'});在插入整个表之后,只调用一次初始化代码。
注意:对于userdate,最好侦听change事件,而不是侦听focus,否则您将坚持使用以前的值
$('input.datepicker').change(function(){
var selectedDate = $(this).val();
console.log(selectedDate);
})https://stackoverflow.com/questions/57157184
复制相似问题