спасибо, методом дополнительного тыка заработало в opera,chrome, ff, ie8
P.S. код обозначения переменных можно как-то сократить?
function getResult(){
var table= {
1:{price:350,density:1630},
2:{price:150,density:1580},
3:{price:700,density:1620},
4:{price:1100,density:1360},
5:{price:1100,density:1360},
6:{price:1100,density:1400},
7:{price:300,density:1580}
};
var price=0,value=0;
var productId=document.getElementById("product");
var productValue=productId.value;
var countId=document.getElementById("count");
var countValue=countId.value;
var measureId=document.getElementById("measure");
var measureValue=measureId.value;
var result=document.getElementById("result");
if (measureValue==1) {
price=((table[productValue].price*countValue).toFixed(2));
value=((table[productValue].density*countValue).toFixed(0));
result.innerHTML=price+' руб. ('+value+' кг.)'
}
else if (measureValue==2) {
price=((countValue/table[productValue].density*table[productValue].price).toFixed(2));
value=((countValue/table[productValue].density).toFixed(1));
result .innerHTML=price+' руб. ('+value+' м3.) '
}
}
<form onsubmit="return false;" oninput="getResult()">
<select size=1 id=product onChange="getResult()">
<option value=1 selected>Песок мытый</option>
<option value=2>Отсев песка</option>
<option value=3>Гравий 20x40</option>
<option value=4>Щебень 5х20</option>
<option value=5>Щебень 20х40</option>
<option value=6>Щебень 40х70</option>
<option value=7>Отсев щебня</option>
</select>кол-во:
<!--[if IE]> <input id="count" type="number" value=1 min=0 onpropertychange="getResult()"> <![endif]-->
<!--[if !IE]><!--> <input id="count" type="number" value=1 min=0 onChange="getResult()"> <!--<![endif]-->
<select size=1 id="measure" onChange="getResult()">
<option value=1 selected>м3</option>
<option value=2>кг</option>
</select>
Цена: <span id="result">350 руб. (1300 кг.)</span>
</form>