我知道要淘汰并且有关于如何进行某些条件绑定的问题。我有一个下拉输入,根据所选的选项显示和隐藏其他输入。我有这个工作,但我在以前已经发布页面后加载页面时遇到问题。我能够获取先前选择和发布的下拉输入,但不会触发其他输入发生的绑定(显示和隐藏)。请参阅以下内容:
<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 :(得分:0)
我想出了我需要做的事情。我需要将初始可观察值设置为已发布的值。
var onLoadPet = "@Model.Pet.Value";
function ViewModel() {
this.selectedPet = ko.observable(onLoadPet);
}