8

素晴らしいiCheckプラグインを使用して、フォームのチェックボックスのスタイルを設定しています。

プラグインを使用すると、呼び出すだけ$('input').iCheck()で目的の外観と機能を適用できます。

ただし、.iCheck()動的に作成されたチェックボックスで関数を呼び出すことに固執しています。

ajax 呼び出しでは、success 関数で次のようにチェックボックスを作成します。これは$.eachブロック内にありますが、簡単にするために、ステートメント内にコードのみを含めました。

var chk = $('<div><input id="' + n.ID + '" type="checkbox" name="lblChk"><label for="' + n.ID + '">' + n.Title + '</label></div>');
el.append(chk);

DOM ツリーに既に存在するelID を持つ div はどこにあり、 JSON として返されるオブジェクトはどこですかcontainern

チェックボックスを構築した後、私は$('#container input').iCheck();明らかに電話をかけましたが、標準のチェックボックス以外は特別なものは何も得られません。チェックボックスが動的に作成され、.iCheck()が呼び出された後に発生したためだと思います。しかし、チェックボックスを作成して呼び出し.iCheck()た後でも、結果は同じです。

誰でもこれについて私を案内できますか?

4

6 に答える 6

13

これを試して

$('#container').iCheck({checkboxClass: 'icheckbox_flat-green',radioClass: 'iradio_flat-green'});
于 2013-09-02T14:22:45.510 に答える
7

また、別の状況もあります... iCheck にコールバックがある場合

このコードは、bind() の代わりであるため、ajax をロードした入力に対しては機能しません。

$('#mycheckbox').on('ifChecked', function(event) {
    alert();
});

代わりに委任されたイベントを使用する必要があります。

$(document).on('ifChecked', '#mycheckbox', function(event) {
 alert('done'); 
});
于 2015-12-17T08:44:28.377 に答える
5

これを試して...

$('#container').find('input').iCheck();

の長さをチェックしてみました$('#container input')か? よくわかりませんが、 input はの直接の子ではないcontainerため、 selector で見つからない可能性があります$('#container input')

于 2013-04-24T17:17:14.600 に答える