Спасибо вам, уважаемый!
совсем забыл про онклик для тупого ie =) но ещё один момент, в ie и только в нём значение, в моём коде, становится равным нулю не могли бы подсказать что и как. я кончено могу по вашему сделать всё, но убить ещё пол дня на то что бы разобраться в нём уже не хватит сиил |
У вас изначально значение берется из value, но потом оно теряется, а точнее становится значением переменной t. Если ее убрать, то сохраняется начальное значение. Но вам нужно чтобы значение менялось, для этого нужно чтобы обработчик события onchange постоянно проверял (имело активное) его наличие.
Посмотрите как у меня это реализовано: select1.onchange = function(){ for(var i=0; i<this.length; i++){ var options = document.createElement("option"); select2.appendChild(options); *!*span.innerHTML = select2.options[select2.selectedIndex].innerHTML;*/!* } }; select2.onchange = function(){ for(var j=0; j<this.length; j++){ *!*span.innerHTML = this.options[this.selectedIndex].innerHTML;*/!* } }; |
блиииин ничё не понятно. завтра с утра лучше поразбираюсь
|
monolithed,
на всякий случай ))) while(select2.childNodes.length>0){ select2.removeChild(select2.childNodes[select2.childNodes.length-1]); } можно сократить до select2.options.length=0; |
сделал как то так, всё равно не то :-?
function getCost(frm) { var oplata = document.getElementById('names').value ; var strana = document.getElementById('level').value ; var rez = 0; var norez = 0; var t = 0; oplata.onchange = function(){ for(var i = 0; i<this.length; i++){ if (oplata == "2 раза 240 ТЕСТ" && strana == "Россия") {t=1}; if (oplata == "3 раза 250" && strana == "Россия") {t=250}; if (oplata == "1 раз 12р." && strana == "Россия") {t=12}; if (oplata == "1 раз 10р." && strana == "Франция") {t=10}; if (oplata == "2 раза 40" && strana == "Франция") {t=40}; if (oplata == "3 раза 50" && strana == "Франция") {t=50}; if (oplata == "2 раза 2140" && strana == "Турция") {t=2140}; if (oplata == "3 раза 2150" && strana == "Турция") {t=2150}; if (oplata == "2 раза 340" && strana == "Германия") {t=340}; if (oplata == "3 раза 350" && strana == "Германия") {t=350}; }} norez = t; rez = 2*t; if (frm.dop.checked == true) {document.getElementById('result').innerHTML = rez }else{ document.getElementById('result').innerHTML = norez};} |
Resident,
Пример: Проглотить не думая или разобраться
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251" /> <title></title> <script> var strana = { "Франция" : ['1 раз 10р.', '1 раз 10р.', '2 раза 40', '3 раза 50'], "Россия" : ['1 раз 12р.', '2 раза 240 ТЕСТ','3 раза 250'], "Турция" : ['2 раза 2140','3 раза 2150'], "Германия" : ['2 раза 340','3 раза 350'] } function showNames(v){ var mas = strana[v]; var el = document.getElementById('names'); el.options.length=0; for(var i=0;i<mas.length;i++){ var opt = document.createElement("option"); opt.appendChild(document.createTextNode(mas[i])); el.appendChild(opt); } } function getCost(frm) { var oplata = document.getElementById('names'); oplata=oplata.options[oplata.selectedIndex].text; var strana = document.getElementById('level'); strana=strana.options[strana.selectedIndex].text; var rez = 0; var t = 6663; var norez = 0; if (oplata == "2 раза 240 ТЕСТ" && strana == "Россия") {t=1}; if (oplata == "3 раза 250" && strana == "Россия") {t=250}; if (oplata == "1 раз 12р." && strana == "Россия") {t=12}; if (oplata == "1 раз 10р." && strana == "Франция") {t=10}; if (oplata == "2 раза 40" && strana == "Франция") {t=40}; if (oplata == "3 раза 50" && strana == "Франция") {t=50}; if (oplata == "2 раза 2140" && strana == "Турция") {t=2140}; if (oplata == "3 раза 2150" && strana == "Турция") {t=2150}; if (oplata == "2 раза 340" && strana == "Германия") {t=340}; if (oplata == "3 раза 350" && strana == "Германия") {t=350}; norez = t; rez = 2*t; if (frm.dop.checked == true) {document.getElementById('result').innerHTML = rez } else{ document.getElementById('result').innerHTML = norez}; } </script> </head> <body onload="showNames('Франция')"> <form method="GET" name="formaa" id="txt" class="application" accept-charset="utf-8" action="" > <select name="strana" id="level" onchange="showNames(this.value); getCost(this.form)"> <option value="Россия">Россия</option> <option selected value="Франция">Франция</option> <option value="Турция">Турция</option> <option value="Германия">Германия</option> </select> <select name="cena" id="names" onChange="getCost(this.form)"></select> <input type="checkbox" name="dop" id="checkbox_0" value="0.2" onclick="getCost(this.form)" checked> Записывать звонки?<br> <br>Стоимость </form> <table><tr><td id="result"></td></tr></table> </body> </html> |
Рони, я вас не совсем понял. помогите пожалуйста мне ктонибудь что бы с ie этот код работал. monolithed мне подсказал, но в силу своих скромных знаний по яве я не сумел разобраться
|
Чем вас не устраивает пример рони?
|
простите пожалуйста меня за маю невнимательность :) просмотрел что есть код
Спасибо вам всем огромное:thanks: |
Часовой пояс GMT +3, время: 17:34. |