2012-11-20 140 views
0

我有一個輸入字段,當selectbox更改其值時,應該動態填充該字段。所以,我將變量綁定到輸入,將另一個值綁定到選擇框的選定值。現在我希望能夠以編程方式更改輸入值:對於selectbox的某些值,值應該是空字符串,對於其他人,我應該在用戶執行某些操作時將其設置爲一些JavaScript代碼。我雖然要使用計算函數,所以我可以返回空字符串,但是這導致我遇到了一個問題:如何在設置其他選擇框選項時以編程方式設置值?計算可觀察動態變量

回答

1

如果您的目標是將input中的值默認設置爲,並允許用戶自由更新,那麼最好使用manual subscription

var ViewModel = function() { 
    this.selectedValue = ko.observable(); 
    this.otherValue = ko.observable(); 

    this.selectedValue.subscribe(function(newValue) { 
     //perform whatever logic that you need to determine how the other value should be populated based on the dropdown's current value (newValue) 
     this.otherValue(calculatedValue); 
    }, this); 
}; 
+0

我的真正目標是爲所有選擇框選項設置一個空值,除了一些應該提示用戶手動輸入值然後進行設置的選項。如果用戶選擇應該有空字符串的選項作爲輸入值,敲除應該將字符串設置爲空 – Stefano

+0

像這樣:http://jsfiddle.net/rniemeyer/ELywY/或者選項是否具有與它們一起的實際值還有一些你可以重寫? –

+0

使用訂戶我解決了我的問題。您的解決方案有效,謝謝 – Stefano