Knockoutjs:将值绑定到span,从不同的文本框保存

时间:2014-08-26 11:01:33

标签: javascript json knockout.js

我遇到了以下问题:我将Knockout.js的JSON数据绑定到多个跨度:

$(document).ready(function () {
    function viewModel() {
        self.inlogGegevens = ko.observable();

        function inlogGegevensViewModel(data) {
            this.UserId = data.UserId;
            // more bindings...
            return this;
        }

        $.getJSON(url, function (data) {
            self.inlogGegevens(inlogGegevensViewModel(data));
            ko.applyBindings(new viewModel());
});

这可以按预期工作。跨度正确显示JSON。但是......客户端要求用户在新的javascript生成的文本框中编辑值 。当用户点击“保存”按钮时,需要将此新生成的文本框中的值发送回viewmodel并发布到服务器。

以下是当用户点击“更改”按钮(而不是我的代码)时调用的JavaScript函数片段:

function editable() {
    var editable_td = $(this).find(".editable");
    var editable_element = $(this).find(".editable .value");
    var OriginalContent = editable_element.html();
    $(this).unbind('click', editable).addClass("editing");
    editable_element.siblings(".action").hide();
    editable_element.html("<input class='w100p form-control' type='text' value='" + OriginalContent + "' />");
    editable_element.children().first().focus();
    editable_element.data("original", OriginalContent);
};

我不是在寻找一个可行的解决方案(我不能发布完整的代码),而是在正确的方向上提示如何实现它。

在将值绑定到一个HTML标记(跨度)并将另一个标记(JS生成的文本框)的值保存回客户端的情况下,最佳解决方案是什么?

0 个答案:

没有答案
相关问题