我的页面中有两个下拉列表。 一个加载就绪,另一个加载后选择第一个下拉列表。
var ViewModel = function() {
var self = this;
self.DropDownA = ko.observableArray();
self.DropDownB = ko.observableArray();
self.selectedDDA = ko.observable();
self.selectedDDB = ko.observable();
$.getJSON("api/GetA",function(result) {
ko.mapping.fromJS(result,{},self);
});
self.selectedDDA.subscribe(function(value) {
$.getJSON("api/GetB/value",function(result) {
ko.mapping.fromJS(result,{},self);
});
});
}
现在我的问题是,如果A和B的值设置为隐藏值,我如何预加载所选值?我尝试了这个,但它不起作用:
self.selectedDDA( $("#hiddenValue").val());
请帮忙。谢谢!
答案 0 :(得分:0)
我想知道......你在哪里设定这个价值。我可能会确保在填充数据后设置它
$.getJSON("api/GetA",function(result) {
ko.mapping.fromJS(result,{},self);
self.selectedDDA( $("#hiddenValue").val());
});
答案 1 :(得分:0)
根据您的描述
“一个加载就绪,另一个加载第一个下拉列表 被选中。 “
和你的使用:
self.selectedDDA( $("#hiddenValue").val());
听起来你可能需要重新考虑如何编码。请注意,在淘汰赛或其他一些JS框架中,您实际上不应该进行直接的DOM读/写/更改。您应该只在Knockout JS代码中表示您的模型。 Knockout将为您处理DOM更新。如果您提供更多代码,我可以显示更多详细信息。