如何基于onclick在数据表上填充数据

时间:2016-03-15 04:34:49

标签: javascript jquery ajax datatables

我已经有ajax回调,它基于点击的按钮,会传递用户名,然后像这样返回

enter image description here

这是我的AJAX

$(document).on("click", ".view", function(e){
    e.preventDefault();
    var nomination_result_id = $(this).data('id');

    $.ajax({
        type: "GET",
        dataType: "json",
        url: "json/getNominationVoters",
        data: { nomination_result_id: nomination_result_id }, //PASS DATA 
        success: function(data){ // RECEIVE DATA
            console.log(data);
        }
    });
});

它在我的模态上打开,这是身体的内容

<div class="modal-body">
    <div class="table-responsive">
        <table id="voters" class="table">
            <thead>
                <tr>
                    <th>Nominee</th>
                    <th>Vote Count</th>         
                </tr>
            </thead>
            <tbody>
                ....................
            </tbody>
        </table>
    </div>
</div>

和我的剧本

<script type="text/javascript">
    $('#voters').DataTable();
</script>

我不知道如何填充因为文档上的ajax回调仅针对document.ready()而不是单击。请帮忙。

更新1

我当前的剧本

$.ajax({
    type: "GET",
    dataType: "json",
    url: "{{ URL::route('json/getNominationVoters') }}",
    data: { nomination_result_id: nomination_result_id }, //PASS DATA 
    success: function(data){ // RECEIVE DATA
        console.log(data);
        $.each(data, function(key, value){
            append_tr = "<tr>"+
                            "<td>"+value.firstname+"</td>"+
                            "<td>"+value.lastname+"</td>"+
                        "</tr>";
            $('#voters > tbody:last-child').append(append_tr);      
        });     
    }
});

结果:我有一个“没有数据......” enter image description here

1 个答案:

答案 0 :(得分:0)

HTML数据:

<table id="voters" class="table">

</table>

您的脚本位于document.ready中,但由于您的视图已加载,因此脚本不会影响您的部分,请使用此方法来解决问题

function YourScript(){
   // Your script here
}

然后在加载局部视图

后调用此函数$('#voters').DataTable();
$('#voters').html(data);
YourScript();

希望这有帮助。