Есть Select у которого есть id и с тремя option.
На странице есть <span id="priceraw2">Тут какое-то число</span>
Мне нужно было, чтобы при смене опции менялось значение в этом id="priceraw2", например умножалось. Если стоит опция 1, то значение не меняется, если опция 2, то значение умножается на 20, если значение три, то умножается на 40.
Решил таким образом, все отлично работает.
var default_result=document.getElementById('priceraw2').innerHTML;
(function(){
var sel=document.getElementById('currency-select');
my_func(sel);
})()
function my_func(sel){
var
opts=[],
opt,
val,
divider={'1':'1','2':'30','3':'40'},
result=default_result
;
for(var i=0;i<sel.options.length;i++){
opt=sel.options[i];
if(opt.selected){
val=opt.value;
opts.push(val);
val=divider[val];
}
}
if(opts.length==0){
result=default_result;
}else{
result=default_result*val;
result = Math.round(result);
}
document.getElementById('priceraw2').innerHTML=result;
}
Но как сделать, чтобы этот скрипт выполнялся везде и для всех?
Например, на странице может быть 20 или 1000 блоков в которых есть <span id="priceraw2">Тут какое-то число</span>, но функция выполняется только для первого блока.
На странице может быть еще всплывающее окно с <span id="priceraw2">Тут какое-то число</span>, как сделать, чтобы скрипт выполнялся для каждого блока и везде?