在php中创建复选框时,只有一个复选框在接收数据时由ajax显示在div中。

时间:2017-11-28 10:11:51

标签: php jquery ajax

我在php中创建了复选框:

    $check =array();
    $id=1;
    while($result = $query->fetch(PDO::FETCH_ASSOC)){
        $check[]= "<input id='checkoverlay".$id."' name='overlaycheckbox' 
        value='overlaycheck'  class='olButton' type='checkbox'>
        <label class='labelSpan olButton' style='vertical-align: bottom'>".$result['title']."<br>";
        $id++;
}
echo json_encode($check);

当我在ajax中收到数据时,我得到一个数组,我再次循环以提取我在php中成功创建的复选框。但问题是只显示了一个复选框:最后一个。也许变量获得最新值并显示它删除了早期值,但我无法获得其他数据。

    $.ajax({
            type:"Post",
            url:"query.php",
            dataType:"json",
            success: function(data){
                for(i=0;i<data.length;i++){ 
                    check= data[i];
                    console.log(check);
                    $('.div').html(check);
                 }
            }
});

1 个答案:

答案 0 :(得分:0)

这是因为您每次都要覆盖您的数据。您需要使用.append()代替.html()。所以更改你的ajax代码如下:

$.ajax({
            type:"Post",
            url:"query.php",
            dataType:"json",
            success: function(data){
                $('.div').html(""); //initialize
                for(i=0;i<data.length;i++){ 
                    check= data[i];
                    console.log(check);
                    $('.div').append(check);
                 }
            }
});