追加后无法获取复选框

时间:2013-09-10 14:53:00

标签: javascript jquery ajax checkbox append

我已经制作了一个动态添加复选框的脚本。它的工作原理如下:

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

有时它工作正常。但在很多情况下,如果选中复选框,则varbele:values_leerlingen为空。无法再找到动态添加的复选框或类似的东西。

有人知道我做错了什么吗?谢谢!

2 个答案:

答案 0 :(得分:0)

根据评论编辑我的答案抱歉.live()已从新的jQuery中删除 您可以使用&#39;

答案 1 :(得分: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}
});     
});