Jquery UI对话框条件格式

Jquery UI dialog conditional formatting

本文关键字:格式 条件 对话框 UI Jquery      更新时间:2023-09-26

我正在尝试动态更改Jquery UI对话框的格式。我有一个数组,根据我传递给createDialog函数的"format"参数,类应该改变("绿色"类表示"好","红色"类表示"坏"):

var array = [["bullet1","bad"],["bullet2","good"], ["bullet3","bad"],["bullet4","good"]];
$('#a-button').click(function() {
var current = 0;
//current dynamically changes in the longer version of the code
var format = array[0][1];
createDialog(array[current][0], current, format);
});
function createDialog(data, current, format) {
var $div = $('<div>');
$div.html(data).dialog({
//condition I add which breaks the page
if (array[current][1] == "bad") { format = "red";
} else {
format = "green";
}
dialogClass: format,
width:"auto",
});
}
作为参考,我的CSS如下:
.ui-dialog.red {
border: 3px solid red;
}
.ui-dialog.green {
border: 3px solid green;
 }

有没有人能给我正确的语法来添加这个条件而不破坏代码请(代码将工作,如果你删除条件)?

您可以使用ternary operator使dialogClass成为语句

function createDialog(data, current, format) {
var $div = $('<div>');
$div.html(data).dialog({
   dialogClass: array[current][1] == "bad"?"red":"green",
   width:"auto",
});
}