2012-10-12 62 views
1

這在if/else中很簡單,但我試圖進入三元邏輯以及它是如何工作的。這是我的第一次嘗試。用於在dojo中創建dijit的三元邏輯

if(condtion == true){ 
         var showProtected = new dijit.form.CheckBox({                
          checked: true 
         })else{ 
          showProtected = new dijit.form.CheckBox({ 
          checked: false 
          });  
         }); 
         showProtected.placeAt("showProtected", "first"); 
} 

我累了,但不工作:

showProtected = (condition == true) ? new dijit.form.CheckBox({                
          checked: true 
         }) : new dijit.form.CheckBox({ 
          checked: false 
         });  
         showProtected.placeAt("showProtected", "first"); 

回答

1

你可以使它更簡單,只是說:

var showProtected = new dijit.form.CheckBox({ 
    checked: (condition == true) 
}); 
+0

我去這個無濟於事。如果(condition.Protected == TRUE){ \t \t \t \t \t \t \t變種showProtected =新dijit.form.CheckBox({ \t \t \t \t \t \t \t檢查:(條件== TRUE) \t \t \t \t \t \t \t}); \t \t \t \t \t \t} – pcproff

+0

我很困惑,你要說:'VAR showProtected =新dijit.form.CheckBox({檢查:(條件==真)});' –

+0

我想創建一個dijit複選框無論如何,但只希望它檢查,如果條件==真。在我看來,我想我可以將dijit分配給一個變量,然後if(condition == false){variable.checked = false;}但是,我錯過了一些東西。 – pcproff

0
if(condition){      
         var pro = new dijit.form.CheckBox({ 
          id: "true",         
          title: "Checked", 
          checked: true 
         });       

        }else{ 
         var pro = new dijit.form.CheckBox({ 
          id: "false",         
          title: "Unchecked", 
          checked: false 
         });    
        } 
        pro.placeAt("showCheckbox", "first"); 
+0

現在,如果有這樣做的三元方法,我仍然喜歡看到它,因爲這是本練習的全部目的:) – pcproff

+1

但是,爲什麼要使用三元運算符? if語句可能是最乾淨的方法,除非條件很小,在這種情況下,我會按照我的回答對它進行編碼(這樣你就不會重複聲明'pro'的代碼了)。您想使用三元運算符的唯一實際時間是將代碼編寫爲表達式的方便方式,例如'var pro =(condition)? x:y;'。 –