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

根据评论编辑我的答案抱歉 .live() 已从新 jQuery 中删除,您可以使用“on”

于 2013-09-10T14:55:36.487 回答
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 回答