Сообщение от newtempacc
|
<html>
<head>
</head>
<body>
<meta charset="windows-1251" />
<select name="shk_delivery" style="width:99%;">
<option id="delivery1" value="delivery1" selected="selected" >delivery1</option>
<option id="delivery2" value="delivery2" >delivery2</option>
<option id="delivery3" value="delivery3" >delivery3</option>
</select>
<select id="test">
<option>350</option>
<option>1050</option>
<option>1700</option>
<select>
<div id="total_price" style="text-align:right;">Общая сумма: <b>350</b> руб.</div>
<script>
test.onchange=function(){
document.querySelector('#total_price b').innerHTML=this.value
}
onload=document.querySelector("select").onclick=function(){
var n=+document.querySelector('#total_price b').innerHTML
if(n<1000) delivery2.disabled=true
if(n>1000) delivery2.disabled=false
if(n<1500) delivery3.disabled=true
if(n>1500) delivery3.disabled=false
}
</script>
</body>
</html>
|
Всё замечательно работает.
Такой вопрос: В корзине я могу изменять кол-во товаров. Сумма заказа меняется автоматически. Т.е. то значение которое в:
Код:
|
<div id="total_price" style="text-align:right;">Общая сумма: <b>780</b> руб.</div> |
Оно меняется.
Как мне можно отследить изменение этого значения? И если оно изменилось вызвать функцию, которая изменит параметр disable?
Сейчас у меня JavaScript выглядит вот так:
<script type="text/javascript">
window.onload = function check_delivery() {
var priceValue=document.querySelector('#total_price b').innerHTML;
parseInt(priceValue,10);
if(priceValue<1000) delivery2.disabled=true;
if(priceValue>1000) delivery2.disabled=false;
if(priceValue<1500) delivery3.disabled=true;
if(priceValue>1500) delivery3.disabled=false;
}
А html вот так:
Код:
|
<select name="shk_delivery" style="width:99%;">
<option id="delivery1" value="Наложенный платеж (Только если заказ более 1000 рублей)" selected="selected" >Наложенный платеж (Только если заказ более 1000 рублей) (240 руб.)</option>
<option id="delivery2" value="Почтовое отправление (бандероль), по 100% предоплате." >Почтовое отправление (бандероль), по 100% предоплате. (170 руб.)</option>
<option id="delivery3" value="Бесплатная доставка, если заказ более 1500 рублей. По 100% предоплате." >Бесплатная доставка, если заказ более 1500 рублей. По 100% предоплате. </option>
</select> |