我想知道是否有可能从一个函数中获取select选项值,该函数是用参数调用的。
例如:
我的标记
<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”确实包含正确的数据,但选择中没有数据显示。
我尝试了几件事,但无法做到。任何想法(或提示我做错了)?答案 0 :(得分:1)
您应该将return
放在$.getJSON
之前,因为您的getSelectionData
函数不返回任何内容而不是JSON请求的结果:
return $.getJSON('/MyController/MyGetAction', idParam, function (result) {
var r = ko.mapping.fromJS(result);
return r;
});
或者您可以在r
函数中定义getSelectionData
:
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;
}
};