miles, код лучше располагать здесь, так вам быстрее ответят.не особо понятно где три массива
Вариант ... (очередной дубликат зависимых селектов, которых множество на форуме)
<!DOCTYPE html>
<html>
<head>
<title>Пример работы калькулятора</title>
<meta charset="UTF-8">
</head>
<body>
<table cols="2" width="40%">
<tr>
<th><select name="item">
</select></th>
<th><select name="item">
</select></th>
</tr>
<tr>
<th><img name="tool"></th>
<th id="total">1$</th>
</tr>
</table>
<form>
<script type="text/javascript">
var base = [
{ src : "http://javascript.ru/forum/images/smilies/thank_you2.gif",
height : [1, 2, 3, 4],
price : [1, 1, 1, 1],
text : "Оплеточные рукава"
},
{ src : "http://javascript.ru/forum/images/smilies/dance3.gif",
height : [1, 2, 3, 4, 5],
price : [2, 2, 2, 2, 1],//за 5 метров скидка
text : "Навивочные рукава"
}
]
var select = document.getElementsByTagName('select')[0];
for (var k=0; k< base.length; k++) {
select.options[k] = new Option(base[k]['text'], k);
}
function init() {
var i = this.selectedIndex || 0
var img = document.getElementsByTagName('img')[0]
var src = base[i]['src'];
img.src = src;
var select = document.getElementsByTagName('select')[1];
select.options.length=0
var height = base[i]['height'];
var price = base[i]['price'];
for (var k=0; k< height.length; k++) {
select.options[k] = new Option(height[k]+"м", height[k]*price[k]);
}
var total = document.getElementById('total');
total.innerHTML = height[0]*price[0]+"$"
}
select.addEventListener('change', init);
init();
select = document.getElementsByTagName('select')[1];
function count()
{
var i = this.selectedIndex || 0;
var value = this.options[i].value ;
var total = document.getElementById('total');
total.innerHTML = value+"$"
}
select.addEventListener('change', count);
</script>
</form>
</body>
</html>