- KnockoutJS 教程
- KnockoutJS - 主页
- KnockoutJS - 概述
- KnockoutJS - 环境设置
- KnockoutJS - 应用程序
- KnockoutJS - MVVM 框架
- KnockoutJS - 可观察对象
- 计算可观察对象
- KnockoutJS - 声明性绑定
- KnockoutJS - 依赖项跟踪
- KnockoutJS - 模板
- KnockoutJS - 组件
- KnockoutJS 资源
- KnockoutJS - 快速指南
- KnockoutJS - 资源
- KnockoutJS - 讨论
KnockoutJS - selectedOptions 绑定
该绑定用于处理当前在多列表选择表单控件中选定的元素。该绑定只能与 option 绑定和 <select> 表单控件一起使用。
当用户在多选列表中选择或取消选择一个项目时,这会向视图模型中的数组添加或删除相应的值。如果它是可观察数组,则从 UI 选择或取消选择的项目也会在 ViewModel 中的数组中更新,使其成为双向绑定方法。
语法
selectedOptions: <binding-array>
参数
此处的参数将是一个数组(也可以是可观察数组)。select 元素中的活动项存储在此数组中。以前的项目将被覆盖。
如果参数是可观察数组,那么选定的项目将在基础可观察项发生更改时更新。如果未使用可观察数组,则该元素只处理一次。
示例
让我们看一个示例,演示如何使用 selectedOptions 绑定。
<!DOCTYPE html> <head> <title>KnockoutJS selectedOptions Binding</title> <script src = "https://ajax.aspnetcdn.com/ajax/knockout/knockout-3.3.0.js" type = "text/javascript"></script> </head> <body> <p>Tutorials Library:<br><br> <select size = 10 multiple = 'true' data-bind = " options: availableTutorials, selectedOptions: selectedTutorials "></select></p> <p>(Press control and select for multiple options.)</p> <p>You have chosen below Tutorials:</p> <ul data-bind = "foreach: selectedTutorials"> <li> <span data-bind = "text: $data"> </span> </li> </ul> <script type = "text/javascript"> function ViewModel() { self = this; self.availableTutorials = ko.observableArray ([ 'Academic','Big Data','Databases', 'Java Technologies','Mainframe', 'Management','Microsoft Technologies', 'Mobile Development','Programming','Software Quality' ]); self.selectedTutorials = ko.observableArray(); }; var vm = new ViewModel(); ko.applyBindings(vm); </script> </body> </html>
输出
让我们执行以下步骤,看看上面的代码如何工作 -
将上述代码保存在 selectedoptions-bind.htm 文件中。
在浏览器中打开此 HTML 文件。
selectedTutorials 是一个用于存储所选选项的数组。
knockoutjs_declarative_bindings.htm
广告