2017-05-23 9 views
0

私はノックアウトを知っていて、いくつかの条件付きバインディングを行う方法について質問があります。私は選択されたオプションに応じて他の入力を表示したり隠したりするドロップダウン入力を持っています。私はそれが働いているが、ページがすでに以前に投稿された後にページを読み込むときに問題が発生しています。以前に選択して投稿したドロップダウン入力を取得することはできますが、他の入力の表示(非表示)はトリガーされません。以下を参照してください:ノックアウト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); 
} 
関連する問題