为什么我总是得到未定义的复选框值?

时间:2011-11-28 09:56:32

标签: jquery jquery-ui jquery-selectors

我正在使用以下代码行在div中创建一些复选框:

 for(j=0;j<allActivities.length;j++){
   $('#activity_checkboxlist').append('<input type="checkbox" id="checkbox"'+j+' value="'+allActivities[j].activitynumber+'"/>'+allActivities[j].activityname+'<br>');
 }

activity_checkboxlist是div。现在我正在检查是否选中了复选框,然后将其值放入数组中。我正在使用此代码执行此操作:

var selectedareas = new Array();

for (i = 0; i < allActivities.length; i++) {

    var chkval = $('#checkbox' + i + ':checked').val();
    alert(chkval);
    if (chkval !== undefined) {
        selectedareas.push(chkval);
    }
}

该警报始终显示chkval的值未定义。即使我检查这些复选框。我的代码有什么问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

生成后你检查过HTML吗?您已将"放入该行的worong部分。

使用:

$('#activity_checkboxlist').append('<input type="checkbox" id="checkbox"'+j+' value="'+allActivities[j].activitynumber+'"/>'+allActivities[j].activityname+'<br>');

您拥有id="checkbox"1 value=...等ID。将结束"移至第二部分以生成正确的ID:

$('#activity_checkboxlist').append('<input type="checkbox" id="checkbox'+j+'" value="'+allActivities[j].activitynumber+'"/>'+allActivities[j].activityname+'<br>');