我想用smarty做一些javascript,並使用javascript變量並檢查該值是否包含在smarty數組中。Javascript variable and smarty
下面是代碼,我有
if (object.data[i].Application === selectedApplication || {if isset($Applications) && $Applications|@count > 0} true {else} false {/if})
{
{if not isset($Applications)}
$("#cboApplications").append("<option selected value=\""+object.data[i].id+"\">"+object.data[i].Application+"</option>");
{else}
{if '9'|in_array:$Applications}
console.log("id " + id + " in array");
$("#cboApplications").append("<option selected value=\""+object.data[i].id+"\">"+object.data[i].Application+"</option>");
{else}
console.log("id " + id + " not in array");
$("#cboApplications").append("<option value=\""+object.data[i].id+"\">"+object.data[i].Application+"</option>");
{/if}
{/if}
}
我與遇到的問題是{if '9'|in_array:$Applications}
。目前我已經硬編碼的值,而不是使用JavaScript變量作爲測試,但我得到了相同的結果。
下面是該陣列的外觀從內側smarty的打印時等
array (
0 => '9',
)
有在該列表框中cboApplications
多個值,其具有8,5,6,9和10
由於某些原因,即使$ Applications數組中只有9個,console.log的作用就好像每個項目都在陣列內部,而不僅僅是9個。
感謝您提供任何幫助。
這在Smarty的3只要非Smarty的大括號由白色空間包圍了改進:http://www.smarty.net/docs/en/language.function.literal.tpl –
@ JohnMcMahon:對不起,從Google獲取了錯誤的網址:-D編輯了我的帖子。 – Richard
這可能是他的問題,如果他使用Smarty 2. –