淘汰禁用选择选项标题
Knockout disable select option caption
淘汰2.3.0引入了optionsAfterRender
绑定,因此可以非常灵活地更改选项。
我想禁用选项标题。目前我正在做
<select data-bind="options: items, optionsCaption:'please select', optionsAfterRender: function(option, item) { ko.applyBindingsToNode(option, {disable: !item}, item); }"></select>
这是有效的,但我必须在任何地方复制和粘贴optionsAfterRender
函数。我一直在尝试创建一个自定义bindingHandler来在一个地方完成它,但我遇到了困难。到目前为止,这是我的绑定处理程序:
ko.bindingHandlers.disableOptionsCaption = {
init: function (element) {
ko.applyBindingsToNode(element, {
optionsAfterRender: function (option, item) {
ko.applyBindingsToNode(option, {
disable: !item
}, item);
}
});
}
};
我还在这里创建了一个小提琴,显示工作版本和非工作版本。任何帮助都将不胜感激!
您应该将所有绑定一起应用,而不是像这样一步一步地应用:
Html
<select data-bind="disableOptionsCaption:{}"></select>
JS-
ko.bindingHandlers.disableOptionsCaption = {
init: function (element,valueAccessor, allBindingsAccessor, viewModel) {
ko.applyBindingsToNode(element, {
options: viewModel.items,
optionsCaption: 'please select',
optionsAfterRender: function (option, item) {
ko.applyBindingsToNode(option, {
disable: !item
}, item);
}
});
}
};
相关文章:
- 更改当前选项卡或浏览器窗口的标题
- 检查具有特定标题的浏览器选项卡是否已存在
- 使用 JS 在选项卡中滚动页面标题
- AngularJS ng选项与对象属性值&标题
- 在另一个选项卡中打开同一域时,窗口标题会发生更改
- 获取打开的选项卡标题 jquery 简单 UI
- 从下拉菜单选项中显示“标题”标签
- 如何使用标题在 PHP 中打开新的两个选项卡
- 对没有数据绑定“选项”或“标题”的选择列表进行挖空验证
- 引导选项卡标题元素中的复杂 html
- 如何在 angularjs 材料设计中显示选项卡标题中心对齐
- 如果我们在表格标题中有可编辑的文本,选项卡功能将无法正常工作
- 如何在“挖空.js”中单击后显示选项默认标题
- 在浏览器的选项卡中显示标题
- 当用户转到其他选项卡或最小化浏览器时,如何更改和闪烁浏览器的标题
- 交叉骑士API,获取打开的选项卡标题
- 如何设置带有空格的道场内容选项卡标题
- 在滚动选项卡栏中显示当前页面标题的JavaScript代码
- 粘贴标题并将选项卡设置为活动|Jquery时出现滚动问题
- 淘汰禁用选择选项标题