Bootstraps ICheck kann geänderte Ereignisse nicht abhören
Ich habe diesen JQuery-Code, um Radios zu aktualisieren, basierend darauf, ob ein Radios überprüft wurde. Dies wird jedoch nicht ausgelöst.
Code
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>
Ich habe auch versucht, an die Klickfunktion und die Änderungsfunktion zu binden. Das Änderungsereignis kann jedoch nicht abgehört werden. Jedoch scheinen beide nicht zu funktionieren. Alles funktioniert gut, wenn ich das Skript Icheck.js nicht hinzufüge.
Weiß jemand, wie man sich auf ein geändertes Ereignis aus der Icheckhelper-Klasse der Bootstraps einlässt?
Antworten
Ich fand eine nützliche Lösung, die vom Github-Forum richtig beantwortet wurde: Lesen Sie aus diesem Thread und Wie gehe ich mit Funkeignissen um, wenn iCheck-helper verwendet wird?
Dann habe ich meinen Code geändert. Das Problem ist gelöst.
$("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);
};