来自 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"])