分类Knockout js选择框
Categorizing Knockout js selection box
假设我有下面的knockoutjs绑定
var optionsWithCategory = [
"Category: Person", // Category option should be disabled, or non-selectable
"Jason",
"John",
"Category: Department",
"Human Resource",
"Sales"
];
<div id="selectBox">
<select databind="options: optionsWithCategory"></select>
</div>
我可以采取哪些方法将disable="disable"
添加到所有具有以Category:
开头的文本值的options
DOM元素中。因此,Person
和Department
实际上是不可选择的,但在选择框中充当分隔符。此外,select
框会动态添加到selectBox
div元素中。
我想到的一个方法是:
$('#selectBox').bind('DOMNodeInserted', function (e) {
if (e.target.text != undefined && e.target.text.indexOf(':') >= 0) {
$(e.target).attr("disabled", "disabled");
}
});
但它看起来不太优雅,还有其他办法吗?
我不确定有什么干净的方法可以做到这一点,因为的使用有点不常见
但是,您可以执行与编写的代码类似的代码,也可以创建自己的绑定处理程序来执行此操作。我建议使用绑定处理程序,因为它将把所有逻辑封装在一个地方。
相关文章:
- 选择.js destroy() 方法更改选择值
- 选择.js在“onItemAdd”回调中获取更多数据
- 选择.js:克隆元素和 destroy() 问题
- 使用 AJAX 添加选择选项以选择.js
- 选择.js事件 - 不起作用
- 选择JS自动完成似乎不起作用
- 选择“JS使用数组作为源”
- 选择.js Rails 和远程数据加载 – 返回逗号分隔的字符串而不是数组
- 如何更改选择.js下拉列表的占位符
- 选择.js性能
- 选择.js并验证 jquery
- 给人留下深刻印象的另一种选择.js
- 如何获取选择 JS 树节点时的祖先
- 如何滑动切换选择.js下拉列表
- 使用JS或JQuery,将所选内容中的所有内容从一个列表移动到“;选择“;使用jQuery's列表选择.js
- 选择 JS 菜单在服务器中的行为与在我自己的桌面中的行为不同
- 选择JS插件通过Node JS安装插件
- 基于单选按钮选择JS显示不同的表id
- 我如何才能丑陋地选择JS
- 延迟选择.js搜索过滤器