0

チェックボックスを動的に追加するスクリプトを作成しました。それはこのように動作します:

   $.ajax({
    type: "POST",
    async:false,
    url: base_url+"rapportage/get/leerlingen/coach/"+coach_id+"/",
    success: function(data){
      $.each($.parseJSON(data), function(i,item)
      { 
        $('.select-leerlingen ul').append('<li><input type="checkbox" class="leerling" name="leerling" value="'+item.id+'"> '+item.voornaam+' '+item.tussenvoegsel+' '+item.achternaam+'</li>');    
      });
    }}); 

このアクションの後、これらのチェックボックスにインデックスを付けようとします:

$('#submit').click( function(event) {

    var values_data = $('input:checkbox:checked.data').map(function () {
        return this.value;
    }).get();

    var values_leerlingen = $('input:checkbox:checked.leerling').map(function () {
        return this.value;
    }).get();       

    // Met AJAX naar de database doorvoeren
    $.ajax({
        type: "POST",
        async:false,
        url: base_url+"rapportage/saveForSession/",
        data: {data:values_data, leerlingen:values_leerlingen}
    });     
}); 

時々それはうまくいきます。しかし、多くの場合、チェックボックスがチェックされている場合、variabele: values_leerlingen は空です。動的に追加されたチェックボックスは、もう見つからないか、そのようなものです。

誰かが私が間違ったことを知っていますか? ありがとう!

4

2 に答える 2

0

試す:

$(document).on('click','#submit', function(event) {

var values_data = $('input:checkbox:checked.data').map(function () {
    return this.value;
}).get();

var values_leerlingen = $('input:checkbox:checked.leerling').map(function () {
    return this.value;
}).get();       

// Met AJAX naar de database doorvoeren
$.ajax({
    type: "POST",
    async:false,
    url: base_url+"rapportage/saveForSession/",
    data: {data:values_data, leerlingen:values_leerlingen}
});     
}); 
于 2013-09-10T14:55:50.003 に答える
0

コメントに基づいて私の回答を編集します申し訳ありません.live()は新しいjQueryから削除され、「on」を使用できます

于 2013-09-10T14:55:36.487 に答える