我有一个select
元素,我使用 Jquery Knockout 绑定 css 类。
我想直接从data-bind
属性访问当前元素实例,而不在其中创建属性ViewModel
(因为我有许多select
共享相同功能的元素)
这可能吗?
<select id="select1" data-bind="css: { 'no-value-selected': $item.val() == '' }">
<option value="">[Select a value]</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
编辑 使用 ViewModel 来实现这一点(我想避免的)
function ViewModel() {
this.select1HasNoValueSelected = ko.computed(function () {
return $("#select1").val() == '';
}, this);
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
<select id="select1" data-bind="css: { 'no-value-selected': select1HasNoValueSelected }">