Есть вот такой вот скрипт:
<script type="text/javascript">
function ChangePrice(option_id, priceplus) {
priceplus = priceplus.split(":");
old_id = priceplus[0];
priceplus = priceplus[1];
price = document.getElementById("hprice").value;
old_val = document.getElementById("oldg"+option_id).value;
document.getElementById("oldg"+option_id).value = priceplus;
delta = parseFloat(priceplus)-parseFloat(old_val);
price = parseFloat(price)+delta;
document.getElementById("vprice").innerHTML = price;
document.getElementById("hprice").value = price;
document.getElementById('hidid['+option_id+']').value = old_id;
}
function checkboxsum(vlu) {
price = document.getElementById("hprice").value;
priceplus = vlu.id;
if(vlu.checked) price = parseFloat(price)+parseFloat(priceplus);
else price = parseFloat(price)-parseFloat(priceplus);
document.getElementById("vprice").innerHTML = price;
document.getElementById("hprice").value = price;
}
</script>
Предназначен для динамического изменения цены в интернет-магазине, при выборе посетителем аттрибута товара, у которого есть наценка. Скрипт уже работает с аттрибутами, имеющими тип select. А вот как научить его работать с аттрибутами типа radio?
Код для select выглядит вот так:
<!-- select -->
<table class="calc" border="0" cellspacing="0" cellpadding="5" bgcolor="#f3d6b1">
<tr class="{cycle values="calc1,calc2"}">
<td width="220px">
<p><strong>{$options_data.NAME}:</strong></p>
</td>
<td>
<p>
<select id="hidid[{$options_data.ID}]" name="id[{$options_data.ID}]" style="display:none;">
{foreach key=key_data item=item_data from=$options_data.DATA}
<option value="{$item_data.ID}">{$item_data.TEXT} {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}</option>
{/foreach}
</select>
<select name="idvis[{$options_data.ID}]" onchange="Javascript:ChangePrice({$options_data.ID},this.value);">
{foreach key=key_data item=item_data from=$options_data.DATA}
{if $item_data.PREFIX == '-'}
<option value="{$item_data.ID}:{$item_data.PRICE_PLAIN}">{$item_data.TEXT} {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PRICE}){/if}</option>
{else}
<option value="{$item_data.ID}:{$item_data.PREFIX}{$item_data.PRICE_PLAIN}">{$item_data.TEXT} {if $item_data.MODEL}({$item_data.MODEL}){/if} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}</option>
{/if}
{/foreach}
</select>
<input type="hidden" name="oldg{$options_data.ID}" id="oldg{$options_data.ID}" value="0" />
</p>
</td>
</tr>
</table>
<!-- /select -->