0

我想知道是否有可能从函数中获取选择选项值,该函数是用参数调用的。

例如:

我的标记

<select data-bind="options: $root.getOptions('one', $data.ID), optionsCaption: '...', optionsText:'Txt', optionsValue:'ID'">

我的js

    self.getSelectionData = function (type, param) {
    if (type == "one") {
        var idParam = new Object();
        idParam.id = param();
        $.getJSON('/MyController/MyGetAction', idParam, function (result) {
            var r = ko.mapping.fromJS(r);
            return r;
        });
    }
};

“r”确实包含正确的数据,但选择中没有显示任何数据。

我尝试了几件事,但无法做到。任何想法(或暗示我做错了)?

4

1 回答 1

1

您应该放在return前面,$.getJSON因为您的getSelectionData函数不返回任何内容而不是 JSON 请求的结果:

return $.getJSON('/MyController/MyGetAction', idParam, function (result) {
    var r = ko.mapping.fromJS(result);
    return r;
});

或者您可以rgetSelectionData函数中定义:

    self.getSelectionData = function (type, param) {
    if (type == "one") {
        var idParam = new Object();
        idParam.id = param();
        var r;
        $.getJSON('/MyController/MyGetAction', idParam, function (result) {
            r = ko.mapping.fromJS(result);
        });
        return r;
    }
};
于 2012-08-29T13:26:43.720 回答