以编程方式在 icheck 淘汰赛中增加价值
Programmatically adding value in icheck knockout
我正在使用带有敲除功能的 iCheck 插件。检查此 fiddle。
我想以编程方式检查一个选项,但它不起作用。当我手动检查一个选项时,它就起作用了。我做错了什么?
我的HTML代码是:
<div class="form-group">
<label>Condition <span data-bind="text:conditionChecked"></span> </label> //just to check the value in 'conditionChecked'.
<div class="radio">
<label>
<input class="radio i-checks" type="radio" data-bind="iCheck: { checked: conditionChecked }" name="condition" value="new" required /> New
</label>
</div>
<div class="radio">
<label>
<input class="radio i-checks" type="radio" data-bind="iCheck: { checked: conditionChecked }" name="condition" value="used" required /> Used
</label>
</div>
<div class="radio">
<label>
<input class="radio i-checks" type="radio" data-bind="iCheck: { checked: conditionChecked }" name="condition" value="unboxed" readonly /> unBoxed
</label>
</div>
</div>
我的js代码是:
function ViewModel() {
var self = this;
self.conditionChecked = ko.observable(false);
self.loadCondition = function () {
//ajax request to get condition value. Suppose ajax request returned value "used". so
self.conditionChecked("used");
}
self.loadCondition();
ko.bindingHandlers.iCheck = { // integrating icheck plugin using bh
init: function (element, valueAccessor) {
//initialize icheck to the element
$(element).iCheck({
radioClass: 'iradio_square-green'
});
$(element).on('ifChecked', function (event) {
var observable = valueAccessor();
observable.checked(event.target.defaultValue); //assigning selected value
});
},
update: function (element, valueAccessor) {
var observable = valueAccessor();
}
};
}
这样做:
- 以编程方式将 selector 添加到您想要 select 的输入(我将 ID
unboxed
添加到其中一个收音机)
- 用
$('#unboxed').iCheck('check');
检查一下
这是次要的事情,但最好使用 ko.applyBindings(new ViewModel())
而不是 ko.applyBindings(new ViewModel)
检查fiddle:Fiddle
我正在使用带有敲除功能的 iCheck 插件。检查此 fiddle。 我想以编程方式检查一个选项,但它不起作用。当我手动检查一个选项时,它就起作用了。我做错了什么?
我的HTML代码是:
<div class="form-group">
<label>Condition <span data-bind="text:conditionChecked"></span> </label> //just to check the value in 'conditionChecked'.
<div class="radio">
<label>
<input class="radio i-checks" type="radio" data-bind="iCheck: { checked: conditionChecked }" name="condition" value="new" required /> New
</label>
</div>
<div class="radio">
<label>
<input class="radio i-checks" type="radio" data-bind="iCheck: { checked: conditionChecked }" name="condition" value="used" required /> Used
</label>
</div>
<div class="radio">
<label>
<input class="radio i-checks" type="radio" data-bind="iCheck: { checked: conditionChecked }" name="condition" value="unboxed" readonly /> unBoxed
</label>
</div>
</div>
我的js代码是:
function ViewModel() {
var self = this;
self.conditionChecked = ko.observable(false);
self.loadCondition = function () {
//ajax request to get condition value. Suppose ajax request returned value "used". so
self.conditionChecked("used");
}
self.loadCondition();
ko.bindingHandlers.iCheck = { // integrating icheck plugin using bh
init: function (element, valueAccessor) {
//initialize icheck to the element
$(element).iCheck({
radioClass: 'iradio_square-green'
});
$(element).on('ifChecked', function (event) {
var observable = valueAccessor();
observable.checked(event.target.defaultValue); //assigning selected value
});
},
update: function (element, valueAccessor) {
var observable = valueAccessor();
}
};
}
这样做:
- 以编程方式将 selector 添加到您想要 select 的输入(我将 ID
unboxed
添加到其中一个收音机) - 用
$('#unboxed').iCheck('check');
检查一下
这是次要的事情,但最好使用 ko.applyBindings(new ViewModel())
而不是 ko.applyBindings(new ViewModel)
检查fiddle:Fiddle