Bootstraps ICheck tidak dapat mendengarkan acara yang diubah

Dec 15 2020

Saya memiliki kode Jquery ini untuk memperbarui radio berdasarkan apakah radio telah diperiksa. Namun, Ini tidak menembak.

Kode

    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>

Saya juga mencoba mengikat fungsi klik dan mengubah fungsi. Tapi acara perubahan tidak bisa disimak. Namun tampaknya tidak ada yang berhasil. Semuanya berfungsi dengan baik ketika saya tidak menambahkan skrip Icheck.js.

Apakah ada yang tahu bagaimana untuk mengikuti acara yang diubah dari bootstraps kelas Icheckhelper?

Jawaban

1 XinLiu Dec 16 2020 at 07:18

Saya menemukan perbaikan yang berguna karena telah dijawab dengan benar dari forum github: baca dari utas ini dan Bagaimana menangani acara radio ketika iCheck-helper digunakan?

Kemudian saya mengubah kode saya. Masalahnya sudah terpecahkan.

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