1

我想访问淘汰赛中的隐藏字段值。
这是我的html代码

<td>
                        <input type="checkbox" data-bind="checked: status, disable: status, click: $root.UpdateStatus" />
                        <input id="hdnGoalId" type="hidden" data-bind="value: goalId" />
                    </td>

这是我的 JavaScript 代码

var WebmailViewModel = function() {

 self.UpdateNote = function () {
    $.ajax({
        type: "POST",
        url: 'SinglePageApp.aspx/UpdateNote',
        data: "{goalId: '" + self.goalId + "'}",
        contentType: "application/json; charset=utf-8",
        success: function (result) {
            alert(result.d);
        }
    });
};
};ko.applyBindings(new WebmailViewModel());

在 UpdateNote 我想传递选定的goalId。请给我一些建议。

4

2 回答 2

2

我看到两个可能的问题

  1. targetId必须定义为可观察的,因为您在视图中使用data-bind="value: goalId".
  2. 要获取goalId的值,您必须将其作为函数调用(因为它是可观察的)。

查看更新的视图模型:

var WebmailViewModel = function() {
    var self = this;
    self.goalId = ko.observable(10); // where 10 is whatever value goalId should be
    self.UpdateNote = function() {
        $.ajax({
            type: "POST",
            url: 'SinglePageApp.aspx/UpdateNote',
            data: "{goalId: '" + self.goalId() + "'}",
            contentType: "application/json; charset=utf-8",
            success: function(result) {
                alert(result.d);
            }
        });
    };
};
于 2012-10-08T10:49:27.480 回答
0

感谢您的回复。我通过这样的更新得到了解决方案

self.UpdateNote = function (tblUsers) {
    $.ajax({
        type: "POST",
        url: 'SinglePageApp.aspx/UpdateNote',
        data: "{goalId: " + tblUsers.goalId + "}",
        contentType: "application/json; charset=utf-8",
        success: function (result) {
            alert(result.d);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus);
            alert(errorThrown);
        }
    });
};

其中 tblUsers 是 json 对象。

于 2012-10-09T08:28:03.207 回答