javascript - 删除 if 语句以更改页面 View 内容

标签 javascript jquery knockout.js

我有一个包含两个选项的下拉列表 - 选择每个选项时都会更改 View 中内容的显示。我如何连接我的下拉选择来更改内容以显示和隐藏其他内容。

这是我所拥有的:

<select data-bind="options: items, value: selectedItem"></select>

//if selectedItem = 'A'
<div class="itemA">....</div>

//if selectedItem = 'B'
<div class="itemB">....</div>

self.items = ko.observable(['A', 'B']);
self.selectedItem = ko.observable();

更新:我已经更新了我的代码以显示我的可观察结果。

因此,如果从下拉列表中选择“A”,它将显示,而“B”应该隐藏

最佳答案

正如评论中提到的

查看:

<select data-bind="options: items,optionsCaption:'-select-', value: selectedItem"></select>
<div data-bind="if:selectedItem() == 'A'" class="itemA">A</div>
<div data-bind="if:selectedItem() == 'B'" class="itemB">B</div>

View 模型:

var ViewModel = function () {
   var self = this;
   self.items = ko.observable(['A', 'B']);
   self.selectedItem = ko.observable(self.items()[0]);
};      
ko.applyBindings(new ViewModel());

工作样本 here

关于javascript - 删除 if 语句以更改页面 View 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325947/

相关文章:

javascript - 如何为仅可用的键绑定(bind) Knockout viewModel?

javascript - 将 recaptcha 响应放入 knockout js observable 中

javascript - 刷新值 react 而不是操作后的值

jquery - 克隆jquery中的div位置问题

javascript - 有没有办法使 SVG USE 随后可修改(或不同的技术)?

javascript - 从来自 MongoDB 的数据中使用 jquery 按名称排序

knockout.js - 调用breeze函数时如何将数据绑定(bind)值作为参数传递

javascript - XMLHttpRequest 请求出现问题

javascript - Angular JS - 如何捕获转发器中的重复项不允许异常

javascript - 在哪里可以了解基于 JavaScript 的继承是如何工作的?