Bootstraps ICheck не может прослушивать измененное событие
Dec 15 2020
У меня есть этот код JQuery для обновления базы радио в зависимости от того, проверено ли радио. Однако это не срабатывает.
Код
this.init = function() {
$.ajax({ "url": "/cms/api/task_management/init", "contentType": "application/json", "dataType": "json", "type": "POST" }).done(function(map) { if ($("#title").val() || $("#problemCls").val() || $("#targetFunc").val() || $("#status").val() || $("#priority").val()) {
search();
} else {
callBackInit(map);
}
}).fail(failCallback);
$("input[type='radio']").on("ifChanged", function (event) { if ($("#display-method-unique").prop("checked")) {
renderDataTable(self.taskManagementList);
} else {
renderDataTable(self.allDataList);
}
}).iCheck({
radioClass: 'iradio_flat-green'
});
HTML
<div class="row">
<div class="col-md-4 col-sm-12 col-xs-12">
<div class="radio">
<input type="radio" name="display-method" id="display-method-unique" class="flat"><label for="display-method-unique">Doing</label>
<input type="radio" name="display-method" id="display-method-all" class="flat"><label for="display-method-all">End</label>
</div>
</div>
</div>
Я также пробовал привязать к функции щелчка и функции изменения. Но событие изменения нельзя прослушать. Однако ни один из них не работает. Все работает нормально, когда я не добавляю скрипт Icheck.js.
Кто-нибудь знает, как подключиться к измененному событию из класса начальной загрузки Icheckhelper?
Ответы
1 XinLiu Dec 16 2020 at 07:18
Я нашел полезное исправление, как правильно ответил на форуме github: читать из этой ветки и Как обрабатывать радио-событие, когда используется iCheck-helper?
Затем я изменил свой код. Проблема решена.
$("input[name='display-method']").iCheck({radioClass: 'iradio_flat-green'}); this.init = function() { $.ajax({
"url": "/cms/api/task_management/init",
"contentType": "application/json",
"dataType": "json",
"type": "POST"
}).done(function(map) {
if ($("#title").val() || $("#problemCls").val() || $("#targetFunc").val() || $("#status").val() || $("#priority").val()) { search(); } else { callBackInit(map); } $("input[name='display-method']").on("ifCreated ifClicked ifChanged ifChecked ifUnchecked ifDisabled ifEnabled ifDestroyed check", function (event) {
if ($("#display-method-unique").prop("checked")) {
renderDataTable(self.taskManagementList);
} else {
renderDataTable(self.allDataList);
}
});
}).fail(failCallback);
};