есть скрипт который подгружает регион после выбора страны. регионы грузятся во фрейм нормально а вот в <option> - не хотят, хотя на http://loveplanet.ru/ все работает. вот пример http://svip-web.net.ru/search.html а вот сам скрипт
| Код | <!-- search form --> <div id="search_form">
<script language="JavaScript" type="text/javascript"> function close_block(x){document.getElementById(x).style.display='none';} function open_block(x){document.getElementById(x).style.display='block';} </script>
<form id="anketa" name="anketa" method="post" action="/a-search/" class="center">
<div class="f_body"> <div> <div class="floats">
<div>Ñòðàíà<br><select name="country" class="residence" onchange="srch_dg.ForceUpdate(1);"><option value="0">---- íå èìååò çíà÷åíèÿ ----</option><OPTION value="3159">Ðîññèÿ</OPTION> <OPTION value="4">Àâñòðàëèÿ</OPTION> <OPTION value="63">Àâñòðèÿ</OPTION> <OPTION value="81">Àçåðáàéäæàí</OPTION> <OPTION value="173">Àíãóèëüÿ</OPTION> <OPTION value="177">Àðãåíòèíà</OPTION> <OPTION value="245">Àðìåíèÿ</OPTION> <OPTION value="7716093">Àðóëüêî</OPTION> <OPTION value="248">Áåëàðóñü</OPTION> <OPTION value="401">Áåëèç</OPTION> <OPTION value="404">Áåëüãèÿ</OPTION> <OPTION value="425">Áåðìóäû</OPTION> <OPTION value="428">Áîëãàðèÿ</OPTION> <OPTION value="467">Áðàçèëèÿ</OPTION> <OPTION value="616">Âåëèêîáðèòàíèÿ</OPTION> <OPTION value="924">Âåíãðèÿ</OPTION> <OPTION value="971">Âüåòíàì</OPTION> <OPTION value="994">Ãàèòè</OPTION> <OPTION value="1007">Ãâàäåëóïà</OPTION> <OPTION value="1012">Ãåðìàíèÿ</OPTION> <OPTION value="1206">Ãîëëàíäèÿ</OPTION> <OPTION value="2567393">Ãîíäóðàñ</OPTION> <OPTION value="277557">Ãîíêîíã</OPTION> <OPTION value="1258">Ãðåöèÿ</OPTION> <OPTION value="1280">Ãðóçèÿ</OPTION> <OPTION value="1366">Äàíèÿ</OPTION> <OPTION value="2577958">Äîìèíèêàíñêàÿ ðåñïóáëèêà</OPTION> <OPTION value="1380">Åãèïåò</OPTION> <OPTION value="1393">Èçðàèëü</OPTION> <OPTION value="1451">Èíäèÿ</OPTION> <OPTION value="277559">Èíäîíåçèÿ</OPTION> <OPTION value="277561">Èîðäàíèÿ</OPTION> <OPTION value="3410238">Èðàê</OPTION> <OPTION value="1663">Èðàí</OPTION> <OPTION value="1696">Èðëàíäèÿ</OPTION> <OPTION value="1707">Èñïàíèÿ</OPTION> <OPTION value="1786">Èòàëèÿ</OPTION> <OPTION value="1894">Êàçàõñòàí</OPTION> <OPTION value="2163">Êàìåðóí</OPTION> <OPTION value="2172">Êàíàäà</OPTION> <OPTION value="582029">Êàðèáû</OPTION> <OPTION value="2297">Êèïð</OPTION> <OPTION value="2303">Êèðãûçñòàí</OPTION> <OPTION value="2374">Êèòàé</OPTION> <OPTION value="582040">Êîðåÿ</OPTION> <OPTION value="2430">Êîñòà-Ðèêà</OPTION> <OPTION value="582077">Êóáà</OPTION> <OPTION value="2443">Êóâåéò</OPTION> <OPTION value="2448">Ëàòâèÿ</OPTION> <OPTION value="2505884">Ëèâàí</OPTION> <OPTION value="582060">Ëèâàí</OPTION> <OPTION value="2509">Ëèâèÿ</OPTION> <OPTION value="2514">Ëèòâà</OPTION> <OPTION value="2614">Ëþêñåìáóðã</OPTION> <OPTION value="582041">Ìàêåäîíèÿ</OPTION> <OPTION value="277563">Ìàëàéçèÿ</OPTION> <OPTION value="582043">Ìàëüòà</OPTION> <OPTION value="2617">Ìåêñèêà</OPTION> <OPTION value="582082">Ìîçàìáèê</OPTION> <OPTION value="2788">Ìîëäîâà</OPTION> <OPTION value="2833">Ìîíàêî</OPTION> <OPTION value="2687701">Ìîíãîëèÿ</OPTION> <OPTION value="582065">Ìîðîêêî</OPTION> <OPTION value="277551">Íèäåðëàíäû</OPTION> <OPTION value="2837">Íîâàÿ Çåëàíäèÿ</OPTION> <OPTION value="2880">Íîðâåãèÿ</OPTION> <OPTION value="582051">Î.À.Ý.</OPTION> <OPTION value="582105">Îñòðîâ Ìýí</OPTION> <OPTION value="582044">Ïàêèñòàí</OPTION> <OPTION value="582046">Ïåðó</OPTION> <OPTION value="2897">Ïîëüøà</OPTION> <OPTION value="3141">Ïîðòóãàëèÿ</OPTION> <OPTION value="3156">Ðåþíüîí</OPTION> <OPTION value="3159">Ðîññèÿ</OPTION> <OPTION value="277555">Ðóìûíèÿ</OPTION> <OPTION value="5681">ÑØÀ</OPTION> <OPTION value="5647">Ñàëüâàäîð</OPTION> <OPTION value="277565">Ñèíãàïóð</OPTION> <OPTION value="582067">Ñèðèÿ</OPTION> <OPTION value="5666">Ñëîâàêèÿ</OPTION> <OPTION value="5673">Ñëîâåíèÿ</OPTION> <OPTION value="5678">Ñóðèíàì</OPTION> <OPTION value="9575">Òàäæèêèñòàí</OPTION> <OPTION value="277567">Òàéâàíü</OPTION> <OPTION value="582050">Òàéëàíä</OPTION> <OPTION value="582090">Òóíèñ</OPTION> <OPTION value="9638">Òóðêìåíèñòàí</OPTION> <OPTION value="277569">Òóðêìåíèÿ</OPTION> <OPTION value="9701">Òóðêñ è Êåéêîñ</OPTION> <OPTION value="9705">Òóðöèÿ</OPTION> <OPTION value="9782">Óãàíäà</OPTION> <OPTION value="9787">Óçáåêèñòàí</OPTION> <OPTION value="9908">Óêðàèíà</OPTION> <OPTION value="10648">Ôèíëÿíäèÿ</OPTION> <OPTION value="10668">Ôðàíöèÿ</OPTION> <OPTION value="277553">Õîðâàòèÿ</OPTION> <OPTION value="10874">×åõèÿ</OPTION> <OPTION value="582031">×èëè</OPTION> <OPTION value="10904">Øâåéöàðèÿ</OPTION> <OPTION value="10933">Øâåöèÿ</OPTION> <OPTION value="582064">Ýêâàäîð</OPTION> <OPTION value="10968">Ýñòîíèÿ</OPTION> <OPTION value="3661568">ÞÀÐ</OPTION> <OPTION value="11002">Þãîñëàâèÿ</OPTION> <OPTION value="11014">Þæíàÿ Êîðåÿ</OPTION> <OPTION value="582106">ßìàéêà</OPTION> <OPTION value="11060">ßïîíèÿ</OPTION> </select></div> <div>Ðåãèîí<br><select name="region" class="residence" onchange="srch_dg.ForceUpdate(2);"><option value="0">---- íå èìååò çíà÷åíèÿ ----</option></select></div> <div>Ãîðîä<br><select name="city" class="residence"><option value="0">---- íå èìååò çíà÷åíèÿ ----</option></select></div> <div id="green"><button type="submit" class="button" onclick="close_block('green'); open_block('go');">Èñêàòü</button></div> <div id="go" style="display: none;"><button type="button" class="button">Èäåò Ïîèñê</button></div> </div> </div> </div>
</form>
<iframe id="data_frame" src="" width="100%" height="100%"></iframe>
<script language="JavaScript"> function dg_AddOption(element, value, text) { newOption = document.createElement("OPTION"); newOption.text = text; newOption.value = value; anketa.elements[element].options.add(newOption, anketa.elements[element].length); }
function dg_ForceUpdate(type, lang) { this.UplType = type; var country = anketa.elements[this.country_el].options[anketa.elements[this.country_el].selectedIndex].value; for (i = anketa.elements[this.town_el].options.length - 1; i >= 1 ; i--) anketa.elements[this.town_el].options.remove(i); anketa.elements[this.town_el].disabled = true; if (type == 1) { if (country == 0) { for (i = anketa.elements[this.region_el].options.length - 1; i >= 1 ; i--) anketa.elements[this.region_el].options.remove(i); anketa.elements[this.region_el].disabled = true; anketa.elements[this.town_el].disabled = true; return; } for (i = anketa.elements[this.region_el].options.length - 1; i >= 1 ; i--) anketa.elements[this.region_el].options.remove(i); // anketa.elements[this.region_el].disabled = true; data_frame.location.href = "http://loveplanet.ru/?a=geo&fs=reg_" + country; this.CheckDataLoaded(); } else { var region = anketa.elements[this.region_el].options[anketa.elements[this.region_el].selectedIndex].value; if (region == 0) anketa.elements[this.town_el].disabled = true; else { data_frame.location.href = "http://loveplanet.ru/?a=geo&fs=cities_" + region; this.CheckDataLoaded(); } } }
function dg_CheckDataLoaded() { self.clearTimeout(this.to); if (this.cur_el == null) { if (this.UplType == 1) this.cur_el = anketa.elements[this.region_el]; else this.cur_el = anketa.elements[this.town_el]; this.tmp = this.cur_el.options(0).text; this.cur_el.options(0).text = "Please wait"; data_frame.document.body.innerHTML = ""; this.to = window.setTimeout(this.obj_name + ".CheckDataLoaded()", 500); return; } this.cur_el.options(0).text += '.';
if (data_frame.data_div) { var str = data_frame.document.body.innerText.split(","); k = str.length-1; if (this.UplType == 1) { for (i = 0; i < k; i+=2){ this.AddOption(this.region_el, str[i], str[i+1]); } anketa.elements[this.region_el].selectedIndex = 0; anketa.elements[this.region_el].disabled = false; } else { for (i = 0; i < k; i+=2) this.AddOption(this.town_el, str[i], str[i+1]); anketa.elements[this.town_el].selectedIndex = 0; anketa.elements[this.town_el].disabled = false; } this.cur_el.options(0).text = this.tmp; this.cur_el = null; } else this.to = window.setTimeout(this.obj_name + ".CheckDataLoaded()", 500); }
function CDynamicGeo(obj_name, lang, country_el, region_el, town_el) { this.to = -1; this.cur_el = null; this.obj_name = obj_name; this.UplType = 0; this.lang = lang; this.country_el = country_el; this.region_el = region_el; this.town_el = town_el;
this.AddOption = dg_AddOption; this.ForceUpdate = dg_ForceUpdate; this.CheckDataLoaded = dg_CheckDataLoaded;
} </script>
<script>
//var anketa = document.getElementById('anketa'); //var data_frame = document.getElementById('data_frame'); var srch_dg = new CDynamicGeo('srch_dg', 'rus', 'country', 'region', 'city');
var country = anketa.elements['country'].options[anketa.elements['country'].selectedIndex].value; if (country == 0){ anketa.elements['region'].disabled = true; anketa.elements['city'].disabled = true; } var reg = anketa.elements['region'].options[anketa.elements['region'].selectedIndex].value; if (reg == 0){ anketa.elements['city'].disabled = true; } </script>
</div> <!-- end search form -->
|
|