来自 main table 的数据未填充模态表单的输入日期字段
Data from main table does not populate the input date field of a modal form
模态表单的输入日期字段(称为 ITEnterDate)中的数据未显示,但所有其他字段中的数据正在填充。如果我将模式中的字段设为输入文本,则会显示数据。虽然,它必须是输入日期,以便用户可以 select 从日期选择器类型的东西。我做错了什么?
仅供参考,它的功能:我单击编辑主 table 上的记录,然后打开一个模态表单,其中所有字段都填充了来自主 table 的数据。
更多信息:
例如,主窗体上有一条记录的Enter Date值为8/2/2020,存储在SQL日期类型的列中。
这是我的代码:
型号
public string ITEnterDate { get; set;
JAVASCRIPT 在主目录中加载数据 TABLE
$(document).ready(function () {
loadData();
})
function loadData() {
$.ajax({
url: "/Tickets/ListITTasks",
type: "GET",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (result) {
var html = '';
$.each(result, function (key, item) {
html += '<tr>';
html += '<td>' + item.ITNumber + '</td>';
html += '<td>' + item.ITEnterDate + '</td>';
......
html += '<td><a href="#" onclick="return getbyTicketNumber(' + item.ITNumber + ')">Edit</a> | <a href="#" onclick="DeleteItTask(' + item.ITNumber + ')">Delete</a></td>';
html += '</tr>';
});
$('.tbody').html(html);
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
}
JAVASCRIPT 从主 TABLE 获取数据并用它填充模态字段
function getbyTicketNumber(TicketNumber) {
$('#ITEnterDate').css('border-color', 'lightgrey');
.....
$.ajax({
url: "/Tickets/GetTaskByTicketNumber/" + TicketNumber,
typr: "GET",
contentType: "application/json;charset=UTF-8",
dataType: "json",
success: function (result) {
$('#ITNum').val(result.ITNumber);
$('#ITEnterDate').val(result.ITEnterDate);
.....
$('#myModal').modal('show');
$('#btnUpdate').show();
$('#btnAddItTask').hide();
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
return false;
}
控制器
public JsonResult GetTaskByTicketNumber(int id)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
var ITNumber = hdDB.GetITTasksList().Find(x => x.ITNumber.Equals(id));
return Json(ITNumber, JsonRequestBehavior.AllowGet);
}
模态形式
<div class="modal-body">
<form>
<div class="form-group">
<label for="ITEnterDate">Enter Date</label>
<input type="date" class="form-control" id="ITEnterDate" placeholder="Enter Date" />
</div>
.......
</form>
</div>
$('.tbody').html(html);
您确定 class '.tbody' 没有与元素 'tbody' 混淆吗?
找到解决方案。输入日期需要格式为 YYYY-MM-DD 的数据,因此我在 DataReader 中添加了以下代码:
ITEnterDate = String.Format("{0:yyyy-MM-dd}", sdr["ITEnterDate"])
模态表单的输入日期字段(称为 ITEnterDate)中的数据未显示,但所有其他字段中的数据正在填充。如果我将模式中的字段设为输入文本,则会显示数据。虽然,它必须是输入日期,以便用户可以 select 从日期选择器类型的东西。我做错了什么?
仅供参考,它的功能:我单击编辑主 table 上的记录,然后打开一个模态表单,其中所有字段都填充了来自主 table 的数据。
更多信息: 例如,主窗体上有一条记录的Enter Date值为8/2/2020,存储在SQL日期类型的列中。
这是我的代码:
型号
public string ITEnterDate { get; set;
JAVASCRIPT 在主目录中加载数据 TABLE
$(document).ready(function () {
loadData();
})
function loadData() {
$.ajax({
url: "/Tickets/ListITTasks",
type: "GET",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (result) {
var html = '';
$.each(result, function (key, item) {
html += '<tr>';
html += '<td>' + item.ITNumber + '</td>';
html += '<td>' + item.ITEnterDate + '</td>';
......
html += '<td><a href="#" onclick="return getbyTicketNumber(' + item.ITNumber + ')">Edit</a> | <a href="#" onclick="DeleteItTask(' + item.ITNumber + ')">Delete</a></td>';
html += '</tr>';
});
$('.tbody').html(html);
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
}
JAVASCRIPT 从主 TABLE 获取数据并用它填充模态字段
function getbyTicketNumber(TicketNumber) {
$('#ITEnterDate').css('border-color', 'lightgrey');
.....
$.ajax({
url: "/Tickets/GetTaskByTicketNumber/" + TicketNumber,
typr: "GET",
contentType: "application/json;charset=UTF-8",
dataType: "json",
success: function (result) {
$('#ITNum').val(result.ITNumber);
$('#ITEnterDate').val(result.ITEnterDate);
.....
$('#myModal').modal('show');
$('#btnUpdate').show();
$('#btnAddItTask').hide();
},
error: function (errormessage) {
alert(errormessage.responseText);
}
});
return false;
}
控制器
public JsonResult GetTaskByTicketNumber(int id)
{
HelpDeskDBHandle hdDB = new HelpDeskDBHandle();
var ITNumber = hdDB.GetITTasksList().Find(x => x.ITNumber.Equals(id));
return Json(ITNumber, JsonRequestBehavior.AllowGet);
}
模态形式
<div class="modal-body">
<form>
<div class="form-group">
<label for="ITEnterDate">Enter Date</label>
<input type="date" class="form-control" id="ITEnterDate" placeholder="Enter Date" />
</div>
.......
</form>
</div>
$('.tbody').html(html); 您确定 class '.tbody' 没有与元素 'tbody' 混淆吗?
找到解决方案。输入日期需要格式为 YYYY-MM-DD 的数据,因此我在 DataReader 中添加了以下代码:
ITEnterDate = String.Format("{0:yyyy-MM-dd}", sdr["ITEnterDate"])