0

在我的脚本中,我有这个:

$('#divForm').load('../Reservation/Edit #EditReservation', function () {
    $('#divForm').slideDown(500), function () { };
    var viewModel = {};
    var id = JSON.stringify(rowid);
    $.post("/Reservation/JsonEdit", { jsonId: id }, function (data) {
        var trueData = JSON.stringify(data);
        alert(trueData);
        viewModel.model = ko.mapping.fromJSON(trueData);
        alert("chkpt1");
        ko.applyBindings(viewModel);
        alert("chkpt2");
    });
});

这个脚本一直运行到“chkpt1”并且它不执行:ko.applyBindings(viewModel); 警报(“chkpt2”);

我在这个cshtml中使用这个脚本:

<div id="EditReservation" >
<div data-bind="foreach: model.Room">
    <div style="margin-right: 160px; float:left">
        <div>
            EMPLOYEE NUMBER:
            <div>
                <input type="text" data-bind="text: EmpNumber" /></div>
        </div>
        <div>
            ROOM:
            <div>
                <input type="text" data-bind="text: Room" /></div>
        </div>
        <div>
            DATE:
            <div>
                <input type="text" data-bind="text: Date" /></div>
        </div>
    </div>
    <div style="margin-top: 40px;">
        <div>
            START TIME:
            <div>
                <input type="text" data-bind="text: StartTime" /></div>
        </div>
        <div>
            END TIME:
            <div>
                <input type="text" data-bind="text: EndTime" /></div>
        </div>
        <div>
            NOTES:
            <div>
                <input type="text" data-bind="text: Notes" /></div>
        </div>
    </div>
</div>

div EditReservation 将显示,但字段为空。

我确信每个字段的数据绑定都是正确的,因为它在正确映射时匹配返回的 json 数据,

问题是,ko.applyBindings 没有执行,这就是为什么我认为加载时字段为空的原因......

可能是什么错误?

4

1 回答 1

0

输入字段应使用“值”绑定而不是“文本”绑定。如果无法映射属性,您会在浏览器控制台中看到敲除引发的异常。

于 2012-06-04T11:14:14.617 回答