假设我有以下 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"
到所有options
文本值以Category:
. 因此,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");
}
});
但是好像不太优雅,有没有其他方法?