我目前正在使用JQuery Datatables显示数据的项目。我正在使用datatables render方法在显示之前格式化我的数据。我被困在一个我需要返回一些html的地方,但是javascript if if between between between。 html包含字符串,html元素,JS变量,然后是if语句。这就是我想要做的事情:
"columnDefs": [
{
"targets": [0],
"render": function ( data, type, full ) {
return my_stuff;
}
}
]
my_stuff不是变量,而是我想要返回的html。我在这里用它来代表我想要实现的目标。以下是我想准确放置my_stuff的地方:
'<div class="row">' +
'<div class="col-md-1">' +
if (full[0] == '1') {
'<a href="#profile-img-full-' + poster + '" data-toggle="modal" title="Click to view full image">' +
'<img class="poster-photo" src="<?php echo base_url(); ?>assets/img/profile-images/' +full[1]+ '" /> </a>' +
} else if (full[0] == 'M') {
'<img class="poster-photo" src="<?php echo base_url(); ?>assets/img/avatars/avatar-male-user.png" />' +
} else if (full[0] == 'F') {
'<img class="poster-photo" src="<?php echo base_url(); ?>assets/img/avatars/avatar-female-user.png" />' +
}
'</div>' +
'<div class="col-md-11">' +
'<span style="color: blue"> Posted by: </span>' +
if (full[2] == username ) {
'You'
} else {
'<a href="<?php echo base_url(); ?>user/' + poster + '">' +full[2]+ '</a>' +
}
'<br/></div></div>' +
'<div class="post-body">' + full[3] + '</div>';
当我测试这个时,我的表会消失,但是当我删除if语句时,一切顺利。所以我猜我不能在return语句中使用if语句,或者说我做得不对。此外,以这种方式返回html元素对我来说似乎并不合适,因为我有更多的东西要返回,只是在这里发布了一些。那么有更好的方法吗?我正在使用Code Igniter框架,以防万一。总之,我如何返回类似的东西,而不必通过将所有内容括在引号中来欺骗Javascript来认为它是一个字符串?
答案 0 :(得分:1)