Javascript 返回中的If-else语句&引用;陈述
这可能吗?如果列Javascript 返回中的If-else语句&引用;陈述,javascript,html,sql,ajax,datatables,Javascript,Html,Sql,Ajax,Datatables,这可能吗?如果列approvedby不为空,我试图隐藏Approve按钮。这来自服务器端数据表。我的问题是我找不到使用if-else的方法,因为我正在使用return”“ 这是剧本 $(function() { $('#example').DataTable( { dom: "Bfrtip", ajax: { url: "earnings_amendment_account_table.php", type:
approvedby
不为空,我试图隐藏Approve按钮。这来自服务器端数据表。我的问题是我找不到使用if-else的方法,因为我正在使用return”“
这是剧本
$(function() {
$('#example').DataTable( {
dom: "Bfrtip",
ajax: {
url: "earnings_amendment_account_table.php",
type: "POST"
},
serverSide: true,
columns: [
{ data: "accountcode" },
{ data: "accounttitle" },
{ data: "accounttype" },
{ data: "approvedby" },
{ "data": "accountcode", "name": " ", "autoWidth": true, "render": function (data, type, full, meta) {
return "<button class='btn btn-success btn-sm btn-flat edit' data-id='"+full.accountcode+"'><i class='fa fa-edit'></i> Edit</button> <button class='btn btn-danger btn-sm btn-flat delete' data-id='"+full.accountcode+"'><i class='fa fa-trash'></i> Delete</button> if (empty("+full.approvedby+")) { <button class='btn btn-warning btn-sm approve btn-flat' data-id='"+full.accountcode+"'><i class='fa fa-check-square-o'></i> Approve</button>}";}
}
],
select: false,
buttons: []
} );
} );
$(函数(){
$('#示例')。数据表({
dom:“Bfrtip”,
阿贾克斯:{
url:“收入\修订\账户\表格.php”,
类型:“职位”
},
服务器端:是的,
栏目:[
{数据:“会计代码”},
{数据:“accounttitle”},
{数据:“accounttype”},
{数据:“批准人”},
{“数据”:“accountcode”、“name”:“autoWidth”:true,“render”:函数(数据、类型、完整、元){
返回“编辑删除如果(空(“+full.approvedby+”){Approve}”;}
}
],
选择:false,
按钮:[]
} );
} );
这就是结果。我似乎找不到方法让if-else
在return”“
内部工作
我会使用条件运算符检查
approvedby
属性-如果不为null,请使用包含按钮的字符串,否则使用空字符串。您还可以使用模板文字来大大提高可读性:
$('#example').DataTable({
dom: "Bfrtip",
ajax: {
url: "earnings_amendment_account_table.php",
type: "POST"
},
serverSide: true,
columns: [{
data: "accountcode"
},
{
data: "accounttitle"
},
{
data: "accounttype"
},
{
data: "approvedby"
},
{
"data": "accountcode",
"name": " ",
"autoWidth": true,
"render": function(data, type, { accountcode, approvedby }, meta) {
return `
<button class='btn btn-success btn-sm btn-flat edit' data-id='${accountcode}'>
<i class='fa fa-edit'></i>
Edit
</button>
<button class='btn btn-danger btn-sm btn-flat delete' data-id='${accountcode}'>
<i class='fa fa-trash'></i>
Delete
</button>
${approvedby !== null
? `<button class='btn btn-warning btn-sm approve btn-flat' data-id='${accountcode}'>
<i class='fa fa-check-square-o'></i>
Approve
</button>}`
: ''
}
`;
}
}
],
select: false,
buttons: []
});
好的,您正在字符串中传递
if
语句,这将告诉您的浏览器
$(函数(){
$('#示例')。数据表({
dom:“Bfrtip”,
阿贾克斯:{
url:“收入\修订\账户\表格.php”,
类型:“职位”
},
服务器端:是的,
栏目:[
{数据:“会计代码”},
{数据:“accounttitle”},
{数据:“accounttype”},
{数据:“批准人”},
{“数据”:“accountcode”、“name”:“autoWidth”:true,“render”:函数(数据、类型、完整、元){
返回`
编辑
删除
${(full.approvedby='')`Approve`:''}`;
}
],
选择:false,
按钮:[]
} );
});
试试这个
$(函数(){
$('#示例')。数据表({
dom:“Bfrtip”,
阿贾克斯:{
url:“收入\修订\账户\表格.php”,
类型:“职位”
},
服务器端:是的,
栏目:[
{数据:“会计代码”},
{数据:“accounttitle”},
{数据:“accounttype”},
{数据:“批准人”},
{
数据:“会计代码”,
姓名:“,
自动宽度:正确,
呈现:函数(数据、类型、完整、元){
让html=“编辑”;
html+=“删除”;
html+=“删除”;
如果(!完全批准人)
html+=“批准”;
返回html;
}
}
],
选择:false,
按钮:[]
} );
} );
注意,我删除了if语句中使用的empty()函数
它不起作用的原因是您将if语句作为字符串编写,因此它没有作为javascript代码进行处理
下面是一个关于如何用javascript编写内联if语句的示例
return'Hello my name is'+(name==='Miroslav'?name:'Anonymous')+'我刚刚写了一个内联if语句';
如果它是空的,那么它到底是什么类型的满的。approvedby
是空的?它是一个空字符串,还是一个没有项目的数组,或者类似的东西?@CertainPerformance,即使它标记为“null”也可以,只有当数据库中满的行。approvedby
为null时,Approved按钮才会显示。这对我不起作用。我试图找出哪一个是问题所在,我想这是我的引用。我在这一个中有一个引用问题。我对语法进行了三次检查,并将其插入语法检查器,我确信语法是有效的-到底是什么问题?我正在检查它。我想我对脚本中的其他代码有问题。这是可行的,但我做到了我不明白html+=”
是如何工作的。我会研究这个,因为这将是我整个项目的基本结构。谢谢!@pjustindaryll那么这html+=”
does是在已经包含字符串的html
变量中附加一个字符串。下面是一个你可以阅读以更好地理解的字符串。哦,我明白了,它类似于变量持有者。我现在明白了。谢谢!
$('#example').DataTable({
dom: "Bfrtip",
ajax: {
url: "earnings_amendment_account_table.php",
type: "POST"
},
serverSide: true,
columns: [{
data: "accountcode"
},
{
data: "accounttitle"
},
{
data: "accounttype"
},
{
data: "approvedby"
},
{
"data": "accountcode",
"name": " ",
"autoWidth": true,
"render": function(data, type, { accountcode, approvedby }, meta) {
let str = `
<button class='btn btn-success btn-sm btn-flat edit' data-id='${accountcode}'>
<i class='fa fa-edit'></i>
Edit
</button>
<button class='btn btn-danger btn-sm btn-flat delete' data-id='${accountcode}'>
<i class='fa fa-trash'></i>
Delete
</button>
`;
if (approvedby !== null) {
str += `
<button class='btn btn-warning btn-sm approve btn-flat' data-id='${accountcode}'>
<i class='fa fa-check-square-o'></i>
Approve
</button>}`;
}
return str;
}
}
],
select: false,
buttons: []
});