Ich versuche, einige Javascript mit Smarty und JavaScript-Variable zu verwenden und zu überprüfen, ob der Wert in einem Smarty-Array enthalten ist.Javascript Variable und Smarty
Unten finden Sie den Code, den ich
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}
}
Das Problem das ich habe, mit ist {if '9'|in_array:$Applications}
haben. Im Moment habe ich den Wert fest programmiert, anstatt die Javascript-Variable als Test zu verwenden, aber ich bekomme die gleichen Ergebnisse.
Unten ist das, was die Anordnung so aussieht, wenn von innen smarty gedruckten
array (
0 => '9',
)
Es gibt mehrere Werte in diesem Listenfeld cboApplications
, die einen Wert von 8 haben, 5, 6, 9 und 10
Aus irgendeinem Grund, obwohl nur 9 im $ Applications-Array ist, verhält sich die console.log so, als wäre jedes einzelne Element innerhalb des Arrays, nicht nur 9.
Vielen Dank für jede Hilfe, die Sie zur Verfügung stellen können.
Dies wurde in Smarty 3, solange die nicht-Smarty geschweiften Klammern verbesserte sich um weißen Raum umgeben sind: http://www.smarty.net/docs/en/language.function.literal.tpl –
@ JohnMcMahon: Sorry, habe die falsche URL von Google :-D hat meinen Beitrag bearbeitet. – Richard
Dies kann sehr gut sein Problem sein, wenn er Smarty 2 verwendet. –