我正在用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生成的,但我显然做错了什么。
发布于 2013-05-31 17:37:24
要实现这一点,您可以修改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));
https://stackoverflow.com/questions/16847444
复制相似问题