HTML
<div class="col-xs-4">
<div class="form-group">
<label>
<input type="radio" name="r1"
data-bind="checked: EmployeeTypeChecked"
value="FT" class="minimal" />
Full Time Employee
</label>
<label>
<input type="radio" name="r1" value="DE"
data-bind="checked: EmployeeTypeChecked" class="minimal" />
Daily Wages
</label>
<label>
<input type="radio" name="r1" value="OD"
data-bind="checked: EmployeeTypeChecked" class="minimal" />
On demand
</label>
</div>
</div>
剔除代码
window.employeeApp = {};
window.employeeApp.DataContext = {
createEmployee: function (data) {
return new employeeApp.DataContext.EmployeeModel(data);
},
EmployeeModel: function (data) {
data = data || {};
var self = this;
self.EmployeeTypeChecked = ko.observable(false),
self.toJs = function () {
return ko.toJS(self);
};
self.toJson = function () {
return ko.toJSON(self);
};
}
}
window.employeeApp.ViewModel = function () {
var selectedEmploeyee = ko.observable(),
init = function () {
selectedEmploeyee(employeeApp.DataContext.createEmployee());
};
return {
init: init,
selectedEmploeyee: selectedEmploeyee,
};
}();
ko.applyBindings(employeeApp.ViewModel, $('.page_script')[0]);
employeeApp.ViewModel.init();
如果我删除iCheck插件样式,则可以使用;与iCheck插件不起作用
正确地。
例如,请参考this knockout link
最佳答案
您需要像这样将事件与您的单选按钮绑定
ko.bindingHandlers.RadioButton = {
init: function (element, valueAccessor) {
$(element).iCheck({
radioClass: 'Class Name'
});
$(element).on('ifChecked', function () {
var observable = valueAccessor();
observable.checked(true);
});
},
update: function (element, valueAccessor) {
var observable = valueAccessor();
}
};
关于javascript - ICheck插件无法在 knockout JS中检查绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23968328/