2016-04-29 67 views
0

我有一個下面的代碼段用於KendoUI將字符串轉換爲布爾值動態

{ 
    width: 90, 
    field: "StatusDesc", 
    title: i18n.t("FirmwareTranslation:Columns.StatusDesc"), 
    filterable: dynFilter 
} 

我必須動態改變fiterable屬性的值。 它基於一個條件,如果數據存在於Grid中,那麼我將顯示該特定列的此過濾器選項,否則不會。

所以在這裏我在做什麼

聲明一個新變量全局,var dynFilter

現在,如果數據不存在,我將它設置爲false這是按預期工作,否則將其設置爲dynFilter="{multi:true}"。但布爾變量true不起作用,因爲它是字符串的一部分。

現在我想設置這個變量的方式,它應該作爲multi.i的參數在整個字符串「{multi:true}」中應該是true,true將作爲布爾值,並作爲字符串休息。

任何人都可以請解釋我如何做到這一點。

回答

1

如果我理解正確,不需要將其設置爲字符串。

var dynFilter; 
dynFilter="{multi:true}"; // Won't work 
alert (dynFilter['multi']); // Undefined 

dynFilter={multi:true};  // Will work 
if (dynFilter['multi']) 
    alert('multi is true'); 
else 
    alert('multi is false');