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/

10-10 20:03