рекомендую третий вариант, так как легко и понятно можно изменять цены, можно даже оттуда же содержимое option задавать
<select id="sel">
<option>красный</option>
<option>синий</option>
<option>белый</option>
</select>
<script>
window.onload = function () {
var sel = document.getElementById('sel');
var prices = {
красный: 15,
синий: 25,
белый: 30
};
var color = prices[sel.value];
alert( sel.value +': ' + color);
sel.onchange = function () {
color = prices[this.value];
alert( this.value +': ' + color);
}
}
</script>
<script>
window.onload = function () {
var colorPrices = {
красный: 15,
синий: 25,
белый: 30
};
sel = document.createElement('select');
var str = '';
for (var i in colorPrices) {
str += '<option>' + i + '</option>';
}
sel.innerHTML = str;
document.body.appendChild(sel);
alert(sel.value +': ' + colorPrices[sel.value]);
sel.onchange = function () {
alert(sel.value +': ' + colorPrices[sel.value]);
}
}
</script>