0

我正在使用 jQuery 从 PHP 文件中获取数据,我希望它在表格中动态显示。是否有另一种方法可以让 jQuery 本身创建表格行?这是我的尝试..

部分来自 html 文件:

<table id="tejbl">
<tr id="naslov">
<td><h3>NAME</h3></td>
<td><h3>FAT</h3></td>
<td><h3>FIBER</h3></td>
<td><h3>SUGARS</h3></td>
</tr>


<tr>
<td id="table_0"></td>
<td id="table_1"></td>
<td id="table_2"></td>
<td id="table_3"></td>
</tr>

</table>

js文件的一部分:

$('#jedinice_butt').click(function(){
var odabrano = $("#dropdown option:selected").text();

var uneseno = $("#input_jedinica").val();
$('#tablica').show();
//$('#add_button').show();


if(odabrano === "g"){ 
    $.post('name.php', {
        value: value
    }, function (data) {

      $('#table_0').html(data);
    });


    $.post('nutritional_value.php', {
        value: value
    }, function (data) {

      $('#table_1').append( data * (parseFloat(uneseno,10)/100));
    });

    $.post('fiber.php', {
        value: value
    }, function (data) {

        $('#table_2').append(data * (parseFloat(uneseno,10)/100) );
    });

    $.post('sugars.php', {
        value: value
    }, function (data) {

        $('#table_3').append( data * (parseFloat(uneseno,10)/100) );

    });



}

我要解决的问题是,一旦我再次单击按钮,它只会添加相同的值,我希望它添加到新行中。所以基本上你如何为这些输出动态添加行我尝试了一些方法但没有成功我尝试在 html 文件中没有 ' 的情况下这样做,所以它是从 jQuery 生成的,但我显然做错了。

4

1 回答 1

1

为此,您可以修改 DOM。

首先摆脱

<tr>
<td id="table_0"></td>
<td id="table_1"></td>
<td id="table_2"></td>
<td id="table_3"></td>
</tr>

您可以动态地将元素添加到文档中。你可以这样做:

if(odabrano === "g"){ 

$.getJSON("SCRIPT_URL.php?value="+encodeURI(VALUE_VARIABLE),function(data){

    var ttr = document.createElement("tr");
    var dt = ["fat","fiber","sugar"];
    var ttd = document.createElement("td");
    ttd.innerText=data["name"];
    ttr.appendChild(ttd);
    for(var i=0,l=dt.length;i<l;i++){
        var ttd = document.createElement("td");
        ttd.innerText = data[dt[i]] * (parseFloat(uneseno,10)/100);
        ttr.appendChild(ttd);
    }
    $("#tejbl").append(ttr);

});

}

php-script 的注释:发送数据如下:

$results = array();
$results["name"]=$NAME_YOU_JUST_GOT_FROM_SOMEWHERE;
$results["fat"]=$FAT_YOU_JUST_GOT_FROM_SOMEWHERE;
$results["fiber"]=$FIBER_YOU_JUST_GOT_FROM_SOMEWHERE;
$results["sugar"]=$SUGAR_YOU_JUST_GOT_FROM_SOMEWHERE;
//Send it to the client in json format:
echo(json_encode($results));
于 2013-05-31T09:37:24.307 回答