作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用knockoutjs 并有两个下拉框。
其中之一依赖于另一个。仅此一项就可以正常工作,但我现在想设置初始值及其选定的值。
由于我订阅了第一个下拉框中的更改以加载第二个下拉框,因此我现在不仅加载了两次数据,还取消了第二个下拉框中的初始选择。
这样做的原因是,每当第一个下拉列表更改其值时,我都必须清除第二个下拉列表的选择。否则可能会预选错误的值。
见:http://jsfiddle.net/sturm/6Mp33/31/
<select name="model" data-bind="options: models, value: selectedModel, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'"></select>
<select name="makes" data-bind="options: makes, value: selectedMake, optionsText: 'name', optionsValue: 'id', optionsCaption: 'Choose...'"></select>
function viewModel(initialModels, initialSelectedModel, initialMakes, initialSelectedMake) {
var self = this;
self.models = ko.observableArray(initialModels);
self.selectedModel = ko.observable(initialSelectedModel);
self.makes = ko.observableArray(initialMakes);
self.selectedMake = ko.observable(initialSelectedMake);
self.selectedModel.subscribe(function() {
// This runs after the initial data and clears the selection
if (self.selectedModel()) {
$.ajax({
type: 'POST',
url: '/echo/json/',
data: {
json: ko.toJSON(makeData[self.selectedModel()-1])
},
context: this,
success: function(data) {
self.makes(data);
// The folowing line is the problem
self.selectedMake(undefined);
},
dataType: 'json'
});
} else {
self.makes.removeAll();
}
});
};
ko.applyBindings(new viewModel(modelData, 2, makeData[1], 2));
最佳答案
只需从评论中添加 Nemesv 的答案即可关闭
更新 knockout
关于knockout.js - 订阅后在knockoutjs中加载初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000034/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!