1

これを smarty テンプレート (.tpl) で動作させることはできませんが、プレーンな html を使用すると問題なく動作します。ユーザーがドロップダウンから選択すると、画像が置き換えられます。テンプレートで何が起こっているかというと、置き換えられた画像が空白になっているということです。これは、src が見つからないことを示しています。

{literal}
<script>
function displayResult(selTag)
{
var x=selTag.options[selTag.selectedIndex].text;
alert("You selected: " + x);
document.getElementById('temp_image').src='images/'+ x +'.jpg';
}
</script>
{/literal}

<div class="configoptions">
{foreach from=$configurableoptions item=configoption}
{if $configoption.optiontype eq 1}
<select name="configoption[{$configoption.id}]" id="configoption[{$configoption.id}]"     onchange="displayResult(this); recalctotals();">
{foreach key=num2 item=options from=$configoption.options}
<option value="{$options.id}"{if $configoption.selectedvalue eq $options.id}   selected="selected"{/if}>{$options.name}</option>
{/foreach}
</select>
<br />

<img id="temp_image" src="images/templates/{$options.name}.jpg">
4

1 に答える 1

0

{$configurableoptions} の項目を含む {$configoption.options} の要素を含む foreach ループ内で {$options} を定義しました。残念ながら、この定義は foreach ループの外にあるため範囲外です。

<img id="temp_image" src="images/templates/{$options.name}.jpg">

(デフォルトで) {$options} の最初の要素を表示するには、次のようにします。

<img id="temp_image" src="images/templates/{$configurableoptions[0].options[0].name}.jpg">
于 2012-12-06T11:29:36.127 に答える