[英]How to replace the content of <td> in ajax data?
I tried to change the text IN
to green dot in data[i].online
and the text OUT
to red dot in data[i].offline
.我试图改变文本
IN
在绿点data[i].online
和文本OUT
,以红点在data[i].offline
。
This is what I have right now.这就是我现在所拥有的。
This is the result that I want.这是我想要的结果。
I have already tried .text()
, .html()
.我已经尝试过
.text()
, .html()
。 But these were not work for it.但这些都不适合它。
$.ajax({
type: 'ajax',
url: url,
dataType: 'json',
success: function(data){
//console.log(data);
var html = '';
var i;
for(i=0; i<data.length; i++){
html += '<tr>' +
'<td>'+data[i].name+'</td>'+
'<td>'+data[i].description+'</td>'+
'<td>'+data[i].comment+'</td>'+
'</tr>';
}
$('#show').html(html);
},
error: function(){
alert('Fail to load data');
}
});
Change you html row generation code as follows:更改您的 html 行生成代码如下:
for(i=0; i<data.length; i++){
var row = $('<tr></tr>');
$('<td></td>').appendTo($(row)).html(data[i].name);
$('<td></td>').appendTo($(row)).html(getDot(data[i].online));
$('<td></td>').appendTo($(row)).html(getDot(data[i].offline));
$('<td></td>').appendTo($(row)).html(data[i].comment);
$('#show').append($(row));
}
Function to generate the DOT:生成 DOT 的函数:
function getDot(data){
var div = '';
if(data) {
div = $('<div class="dot"></div>');
if(data === 'IN') {
$(div).addClass('green-dot');
} else if(data === 'OUT') {
$(div).addClass('red-dot');
}
}
return div;
}
CSS : CSS :
div.dot {
width : 20px;
height : 20px;
border-radius : 50%;
}
div.green-dot{
background-color : green;
}
div.red-dot{
background-color : red;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.