如何将值传递给 iCheck 的 onchecked 事件处理程序

How to pass values to the onchecked event handler of iCheck

请问我们如何将值传递给 iCheck(版本 1.x)的 onChecked 事件处理程序?

在我的场景中,每个单选按钮都有我需要传递给 checked 事件处理程序的特定值

如何让 iCheck 执行我的函数 "score()" 并接收值 onChange,如以下示例所示:

<input type="radio" class="checkbox-inline i-checks" name="grp_A" id="opt_1" onchange="score('0508AG08002', 1, 4.0)">
<input type="radio" class="checkbox-inline i-checks" name="grp_A" id="opt_2" onchange="score('05034etw034', 2, 5.0)">

<script>
    $(document).ready(function () {
        $('input').on('ifChecked', function (v) {
            console.log(v);
        });

        $('.i-checks').iCheck({
            radioClass: 'iradio_square-blue',
        });
    });

    function score(matric, qid, grade) {
        console.log(matric, qid, grade);
    }
</script>

我建议您将要传递给 iCheck 的数据移动到标记中的 data 属性,例如至 data-check。然后你可以很容易地从 ifChecked 事件中访问它,如下所示。检查演示 - Fiddle.

<input type="radio" class="..." name="grp_A" id="opt_1" data-check="'0508AG08002', 1, 4.0">
<input type="radio" class="..." name="grp_A" id="opt_2" data-check="'05034etw034', 2, 5.0">

$('input').on('ifChecked', function (v) {
    console.log( $(this).attr("data-check") );
});