ブートストラップ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ヘルパーを使用した場合のラジオイベントを処理するには?

次に、コードを変更しました。問題は解決しました。

$("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);
};