選択オプションが変更されたときに製品の価格を変更しようとしています。私はexpressionengineを使用していますが、中括弧がコードを壊していたので、別の方法で試しています.
これが私のコードです:
<script>
function thePrice(sel) {
var value = sel.options[sel.selectedIndex].text.match(/(\$[0-9]+(\.[0-9]{2})?)/);
if (value[1]) {
$('.price').text(value[1]);
} else {
alert('nope');
}
}
</script>
$00.00 が見つかると価格が変化しますが、見つからない場合は「見つかりません」などと入れたいと思います。アラートを使用してテストしていました。
コードの最初の部分が機能します。値があるかどうかをチェックする部分です。マークアップは次のとおりです。
{select onchange='thePrice(this)'}
<option {selected} value="{option_value}" >
{option_name}({option_value}) {if option_price_numeric > 0}(<? $price = str_replace("$","","{product_price}");$opt_price = str_replace("$","","{option_price}");echo money_format("$%i",($price + $opt_price));?>){/if}
</option>
{/select}
これがライブの様子です。