【发布时间】:2013-09-11 06:20:03
【问题描述】:
我已经制作了一个动态添加复选框的脚本。它的工作原理是这样的:
$.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在检查复选框时为空。无法再找到动态添加的复选框或类似的东西。
有人知道我做错了什么吗?谢谢!
【问题讨论】:
-
不要使用
async: false! -
“在此操作之后”是什么意思?你到底把那个代码放在哪里了?请注意,附加的复选框最初都不是
:cecked。 -
我添加了一些上下文。我需要在提交之前检查数组。在后端,数组被添加到 PHP 会话中。
标签: javascript jquery ajax checkbox append