[英]Show/Hide based on Dropdown selection in knockoutJS with model inside another model
[英]KnockOutJS Show Hide elements on dropdown selection change
嗨,我正在嘗試在 Knockout js 中獲取下拉列表的選定值,以便我可以根據選擇隱藏/顯示其他元素。 以下是我嘗試過的。 發生了什么我能夠在按鈕單擊時獲得正確的值,但在下拉選擇更改時無法獲得正確的值。
下面是我的代碼。 該按鈕給出了正確的值,但下拉選擇更改事件給出了先前的值而不是選定的值。
JS
function ViewModel() {
var self = this;
self.optionValues= ko.observableArray(["Test1", "Test2", "Test3"]);
self.selectedValue = ko.observable();
self.save = function() {
alert(self.selectedValue());
}
}
ko.applyBindings(new ViewModel());
HTML
<select data-bind="event:{ change: save},options: optionValues, value: selectedValue"></select>
<button data-bind="click: save">Save</button>
您應該直接subscribe
selectedValue
observable,而不是change
事件綁定綁定,並從那里調用您的邏輯:
function ViewModel() {
var self = this;
self.optionValues = ko.observableArray(["Test1", "Test2", "Test3"]);
self.selectedValue = ko.observable();
self.selectedValue.subscribe(function(newValue) {
self.save();
});
self.save = function() {
alert(self.selectedValue());
}
}
ko.applyBindings(new ViewModel());
網址:
<select data-bind="options: optionValues, value: selectedValue"></select>
<button data-bind="click: save">Save</button>
演示JSFiddle 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.