0

我有一个对 php 文件的 ajax 请求,每行返回 3 个值。

我想将这些附加到表格中。这行得通。我在我的表中获得了我的信息,但我似乎无法添加类或 id 并对其进行一些样式设置。

http://jsfiddle.net/AKh4n/1/

success : function(data) {
    $('#lijstbeh').empty();

    var data2 = jQuery.parseJSON(data);
    $('#lijstbeh').append('<table class="table">');
    $('#lijstbeh').append('<tr>');
    $('#lijstbeh').append('<th>Behandeling ID</th>');
    $('#lijstbeh').append('<th>Behandeling kort</th>');
    $('#lijstbeh').append('<th>Behandeling datum</th>');
    $('#lijstbeh').append('</tr>');

    $.each (data2,function (bb) {
        $('#lijstbeh').append('<tr class="tblbehandelingen">');
        $('#lijstbeh').append('<td>' + data2[bb].BEH_ID + '</td>');
        $('#lijstbeh').append('<td>' + data2[bb].BEH_behandelingkort + '</td>');
        $('#lijstbeh').append('<td>' + data2[bb].BEH_datum + '</td>');
        $('#lijstbeh').append('</tr>');
    });

    $('#lijstbeh').append('</table>');

}

编辑

$(document).ready(function () {
    $('.tblbehpatienten').click(function () {
        var value1 = $(this).find('td:first').text();
        var value2 = $(this).find('td:first').next().text();

        $("#beh_voornaampat").text(value1);
        $("#beh_familienaampat").text(value2);

        $.ajax({
            type: 'POST',
            url: 'home/getbehandelingen',
            datatype: "JSON",
            data: {
                PA_firstname: value1,
                PA_lastname: value2
            },
            success: function (data) {
                $('#lijstbeh').empty();

                var data2 = jQuery.parseJSON(data);

                var table_string = '<table>' + '<tr><th>Behandeling ID</th>' +
                  '<th>Behandeling kort</th>' + '<th>Behandeling datum</th></tr>';

                $.each(data2, function (bb) {
                    table_string += '<tr class="tbl"><td>' + data2[bb].BEH_ID + '</td>' +
                      '<td>' + data2[bb].BEH_behandelingkort +'</td>' +
                      '<td>' + data2[bb].BEH_datum + '</td></tr>';
                });

                table_string += '</table>';
                $(table_string).appendTo('div#lijstbeh');

            };
        });

    });

});

它现在正在我的脑海中。似乎无法让它工作。我搞砸了}某个地方吗?

再次编辑

};应该是}我现在让它工作。谢谢!

4

1 回答 1

0

您可能希望将附加内容组合成一个append()语句。否则,jQuery 会关闭每个标签。附加后检查 DOM。您的结构如下所示:

<div id="1">
  <table></table>
  <tr></tr>
  <th>Behandeling ID</th>
  <th>Behandeling kort</th>
  <th>Behandeling datum</th>
  <tr class="tbl" <="" tbody=""></tr>
  <td>1</td>
  <td>2</td>
  <td>3</td>
</div>

如您所见,这不是一个有效的表。

此外,在您的click处理程序中,您指的是 ID 为“tbl”的元素,但它应该是类引用,如.tbl.

我还更改了您的click处理程序以使用 jQuery 的on().

 $('#1').append('<table>'+
                '<tr><th>Behandeling ID</th>'+
                '<th>Behandeling kort</th>'+
                '<th>Behandeling datum</th></tr>'+
                '<tr class="tbl"><td>' + "1" + '</td>'+
                '<td>' + "2" + '</td>'+
                '<td>' + "3" + '</td></tr>'+
                '</table>');

$(document).on('click','tr.tbl',function(){
    alert("dfmlgk");
});

http://jsfiddle.net/AKh4n/2/

编辑:

或者,您可以使用appendTo().

在此示例中,我首先将表构建为字符串。这对于动态生成的表可能更有用。也可以使用append(), 将表格构建为字符串;除了appendTo()方法之外,下面的示例演示了将表构建为字符串。

var table_string='<table>'+
                '<tr><th>Behandeling ID</th>'+
                '<th>Behandeling kort</th>'+
                '<th>Behandeling datum</th></tr>';

for (var i=1;i<=5;i++) {
    table_string+='<tr class="tbl"><td>row '+i+' column 1</td>'+
                '<td>row '+i+' column 2</td>'+
                '<td>row '+i+' column 3</td></tr>';
}

table_string+="</table>";

$(table_string).appendTo('div#1');

$(document).on('click','tr.tbl',function(){
    alert("dfmlgk");
});

http://jsfiddle.net/AKh4n/4/

于 2013-10-22T21:22:11.180 回答