wolflonely
@wolflonely
Художник слова и кодо-испытатель.

Как прикрутить onchange к radio?

Есть вот такой вот скрипт:

<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 -->
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы