Два SELECT и список
Привет всем.
Нужна помощь Есть набор из двух селектов и небольшой массив данных со значениями из списков и результирующим значением Как при выборе двух значений селектов, сравнить их с массивом и записать в DIV значение из таблицы?
<select id="" name="select1" class="select-1">
<option onclick="optioner(this)" value="20">20</option>
<option onclick="optioner(this)" value="25">25</option>
<option onclick="optioner(this)" value="30">30</option></select>
<select id="" name="select2" class="select-2">
<option onclick="optioner(this)" value="1.3">1.3</option>
<option onclick="optioner(this)" value="1.4">1.4</option>
<option onclick="optioner(this)" value="1.5">1.5</option></select>
<div id="values"></div>
<script>
data = {
'1.3':{'20':'155'},{'25':'156'},{'30':'157'},
'1.4':{'20':'159'},{'25':'160'},{'30':'170'},
'1.5':{'20':'165'},{'25':'169'},{'30':'172'}
}
</script>
|
ugator,
data неправильная и Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
ugator,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<select id="" name="select1" class="select-1">
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option></select>
<select id="" name="select2" class="select-2">
<option value="1.3">1.3</option>
<option value="1.4">1.4</option>
<option value="1.5">1.5</option></select>
<div id="values">155</div>
<script>
var data = {
'1.3':{'20':'155','25':'156','30':'157'},
'1.4':{'20':'159','25':'160','30':'170'},
'1.5':{'20':'165','25':'169','30':'172'}
},
sel = document.querySelectorAll('select');
[].forEach.call(sel, function(item) {
item.addEventListener('change', function() {
var div = document.getElementById('values');
div.innerHTML = data[sel[1].value][sel[0].value]
});
});
</script>
</body>
</html>
интересно откуда пошла традиция ставить клики на option последнее время? :-? |
Цитата:
|
А что вот это такое [].forEach - квадратные скобки? Это массив селектов или что такое? Никогда такого в скриптах не видел.
|
Спасибо за решение. Все работает.
|
Цитата:
|
| Часовой пояс GMT +3, время: 00:12. |