Opcje zapisywane są w SELECT OPTION i są generowane przez kod PHP.
W funkcji odpowiedzialnej za generowanie całego SELECT, przy każdym OPTION dodałem
onmouseover="changePrice('.$ptq_price_float.');"
Gdzie zmienna $ptq_price_float przekazuje o ile ma się podnieść cena (np. 20.10) która pobiera tą wartość z wyniku jaki podaje oryginalna pętla OSC.
echo '<select>';
for () {
// tutaj do wyników OPTION dopisuję swój kod JS.
}
echo'</select>';
funkcja javascript changePrice(value) może nie jest doskonała ale jest i działa w FF

dodatkowo przechowuję oryginalną cenę żeby mi w koło nie sumowało przy każdej zmianie.
<script type="text/javascript"> var oldprice = window.document.getElementById('cenajsptq').innerHTML; function changePrice(add) { var zmiana = parseFloat(add); var cena1 = oldprice; var tekst = new String(cena1); tekst1 = tekst.replace(/\,/g,'.'); if (tekst1.match('</s>')==null) { prev = tekst1.match(/[0-9]+.{1}[0-9]*/); var wynik = parseFloat(prev) + zmiana; wynik = wynik.toFixed(2); cena1 = tekst1.replace(prev, wynik); cena1 = cena1.replace('.',','); }else{ tekst0 = tekst1.split('</s>'); prev1 = tekst0[0].match(/[0-9]+.{1}[0-9]*/); wynik1 = parseFloat(prev1) + zmiana; wynik1 = wynik1.toFixed(2); cena = tekst1.replace(prev1,wynik1); prev2 = tekst0[1].match(/[0-9]+.{1}[0-9]*/); wynik2 = parseFloat(prev2) + zmiana; wynik2 = wynik2.toFixed(2); cena1 = cena.replace(prev2, wynik2); cena1 = cena1.replace(/\./g,','); } window.document.getElementById('cenajsptq').innerHTML = cena1; } </script>
Całość działa idealnie w FireFox, ale już w IE6 i Chrome nie działa...
Czytałem że te przeglądarki nie obsługują eventów w OPTION.
Proszę o poradę jak to napisać żeby działało także w tych przeglądarkach

-------------------
do SELECT trzeba dodać:
onchange="changePrice(this.options[this.selectedIndex].title);"
A do każdego OPTION w TITLE wartość o ile ma się podnieść cena.
Nie sądziłem że to takie proste
