1
在淘汰賽的documentation中,它提到了optionsAfterRender
。我試圖在沒有成功的情況下添加data
屬性值。如何在使用敲除`選項`綁定時將`data`屬性值設置爲`option`
下面是從文檔樣本:
<select size=3 data-bind="
options: myItems,
optionsText: 'name',
optionsValue: 'id',
optionsAfterRender: setOptionDisable">
</select>
<script type="text/javascript">
var vm = {
myItems: [
{ name: 'Item 1', id: 1, disable: ko.observable(false)},
{ name: 'Item 3', id: 3, disable: ko.observable(true)},
{ name: 'Item 4', id: 4, disable: ko.observable(false)}
],
setOptionDisable: function(option, item) {
ko.applyBindingsToNode(option, {disable: item.disable}, item);
}
};
ko.applyBindings(vm);
</script>
這裏就是我試過,但沒有工作,但也沒有錯誤。
setOptionDisable: function(option, item) {
$(option).text(''); // this will blank out the text in options
$(option).data('test', '123'); // but this won't do anything at all.
$(option).attr('data-test', '123'); // this worked as pointed out by Matt
}