2016-11-15 9 views
1

Jquery UIダイアログボックスの書式を動的に変更しようとしています。私は配列を有し、IはcreateDialogを関数に渡す「形式」パラメータに応じて、クラス(「良好」のための「グリーン」クラス、「悪い」の「赤」クラス)を変更する必要があり:Jquery UIダイアログ条件付き書式設定

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; 
} 

誰もが私のコード(あなたは条件を削除する場合、コードは動作します)してくださいを壊すことなく、この条件を追加するには、右の構文を与えてもらえますか?

答えて

0

あなたは声明

function createDialog(data, current, format) { 
var $div = $('<div>'); 
$div.html(data).dialog({ 
    dialogClass: array[current][1] == "bad"?"red":"green", 
    width:"auto", 
}); 
} 
をdialogClass作るために ternary operatorを使用することができます