2017-05-23 121 views
0

我知道淘汰賽,並有一個關於如何做一些條件綁定的問題。我有一個顯示和隱藏其他輸入的下拉輸入,取決於所選的選項。我有這樣的工作,但我在頁面已經發布之前加載頁面時遇到問題。我能夠獲取先前選擇併發布的下拉輸入,但不會觸發發生(顯示和隱藏)其他輸入的綁定。請看下面:Knockout ObservableArray

<script> 
function ViewModel() { 
    this.selectedPet = ko.observable(); 
    var petArray = ["Dog", "Cat", "Fish"]; 
    this.petOptions = ko.observableArray(petArray); 
}; 
ko.applyBindings(new ViewModel); 
</script> 


<form> 
    <select data-bind="options: petOptions, value: selectedPet" asp-for="Pets"> 
    </select> 

    <input data-bind="visible: petOptions() === "Dog" asp-for="DogFood" /> 
    <input data-bind="visible: petOptions() === "Cat" asp-for="CatFood" /> 
    <input data-bind="visible: petOptions() === "Fish" asp-for="FishFood" /> 
</form> 

回答

0

我想清楚我需要做什麼。我需要將初始可觀察值設置爲已發佈的值。

var onLoadPet = "@Model.Pet.Value"; 
function ViewModel() { 
    this.selectedPet = ko.observable(onLoadPet); 
} 
相關問題