0 レビュー
2 回答
php-javascript内にネストされたsmartyを使用した正しい構文
スマート配列「データ」を取得していて、JavaScript変数「ストア」内に保存したい:
{if isset({$data})}
<script type="text/javascript">
var store = {ldelim}{rdelim};
{foreach from=$data key=k item=v}
var index = {$k};
store.index = {$v};
{/foreach}
alert(store);
</script>
{/if}
しかし、アラート出力がありません。誰かが助けることができますか?
Rmk:これを実行するにはそれが必要です
$("input").each(function(index) {
return this.value = store.index;
});
編集:ソースコードで、var store={};を取得します。
わからない
0
レビュー
答え :
解決策:
Smartyを介してjavascriptオブジェクト/配列を作成するための長くて非常に読みにくい方法を使用する代わりに、これを試してください。
$arr = json_encode(array(array('key1' => 'value1'), array('key2' => 'value2')));
$smarty->assign('data', $arr);
およびテンプレート内;
<script>
var store = {$data};
</script>
つまり、PHPに有効なjavascriptオブジェクトを作成させ、その文字列をsmartyに割り当てます。これにより、変数が作成され、その文字列が割り当てられます。
わからない
0
レビュー
答え :
解決策:
間違ったタグを書き込んだ。 Smartyでは、JavaScriptを有効にするには、 {literal}
タグを使用する必要があります。
例:
{literal}
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。