<select data-bind='foreach: theOptions'>
<option data-bind='text: name, value: $root.watchThis().something'></option>
</select>
You have selected <p data-bind="text: watchThis().something"></p>
Json model.
<p data-bind="text: ko.toJSON(watchThis)"></p>
選項正被示出,但是當我改變值的相對觀察到的不更新。 更多代碼:KnockoutJS選項結合,無法在父上下文設定值
function FooModel() {
this.something = ko.observable();
}
function VM() {
var self = this;
self.watchThis = ko.observable(new FooModel());
self.theOptions = ko.observableArray();
self.theOptions([
{id:1, name: 'foo'},
{id:2, name: 'bar'},
{id:3, name: 'baz'}
]);
}
ko.applyBindings(new VM());
我也試過
<option data-bind='text: name, value: $root.watchThis().something'></option>
<option data-bind='text: name, value: $root.watchThis.something'></option>
<option data-bind='text: name, value: $parent.watchThis().something'></option>
什麼,似乎最壞的打算,如果我明確初始化這樣的價值
function FooModel() {
this.something = ko.observable(2);
}
一切都看起來不錯,但是當我切換選項可觀察不更新。
的問題是:如何更新使用所選值選項的外部環境可觀察到的?
根據您當前的問題,這是很難說什麼是你想達到的,什麼是不工作...你可以重新制定你的問題和/或添加什麼是你想要做更詳細?你需要的是這樣的:http://jsfiddle.net/Wqzwh/? – nemesv
是啊!這正是我所追求的。無論如何,我會更新問題,謝謝。 – brazorf