и вот решение
да там связь простейшая =)
вообщем задачю решил написанием таки функци =) немного мозгов, немного фантазии + google и все готово. код моей функции function build_query(data) { var elem = data.elements var filter_str1 = '' var filter_str2 = '' for(var i=0;i<elem.length;i++) if (elem[i].type === 'select-one') { var filter_str1 = filter_str1+elem[i].name+'='+elem[i].value+'&' if (elem[i].value!=0) { var filter_str2 = filter_str2+elem[i+1].value } } document.location.href='http://site.com/dir.php?search_words=&'+filter_str1+'filter='+filter_str2 } |
Zibba,
День добрый. Мне нужно на основании одного select заполнить другой,- например в одном список регионов а в другом список городов по регионам,- прошу помоч если есть возможность на serov2004@mail.ru |
помогите сделать раскрывающийся список на основании имеющегося
Zibba,
День добрый. Мне нужно на основании одного select заполнить другой,- например в одном список регионов а в другом список городов по регионам,- прошу помоч если есть возможность на serov2004@mail.ru |
Цитата:
По-твоему тут сидят люди, и от нечего делать чужие заказы бесплатно выполняют? |
Цитата:
Вот одна из реализаций подобного. Может кому пригодится: В HEAD вставляем: <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var africaArray = new Array("('Select country','',true,true)", "('Ethiopia')", "('Somalia')", "('South Africa')", "('Other')"); var middleeastArray = new Array("('Select country','',true,true)", "('Egypt')", "('Iran')", "('Israel')", "('Kuwait')", "('Lebanon')", "('Morocco')", "('Saudi Arabia')", "('Syria')", "('Turkey')", "('U. A. Emirates')", "('Other')"); var asiaArray = new Array("('Select country','',true,true)", "('Armenia')", "('Bangladesh')", "('Cambodia')", "('China')", "('India')", "('Indonesia')", "('Japan')", "('Malaysia')", "('Myanmar')", "('Nepal')", "('Pakistan')", "('Philippines')", "('Singapore')", "('South Korea')", "('Sri Lanka')", "('Taiwan')", "('Thailand')", "('Uzbekistan')", "('Vietnam')", "('Other')"); var europeArray = new Array("('Select country','',true,true)", "('Albania')", "('Austria')", "('Belarus')", "('Belgium')", "('Bosnia')", "('Bulgaria')", "('Croatia')", "('Cyprus')", "('Czech Rep.')", "('Denmark')", "('Estonia')", "('Finland')", "('France')", "('Germany')", "('Greece')", "('Hungary')", "('Iceland')", "('Ireland')", "('Italy')", "('Latvia')", "('Liechtenstein')", "('Lithuania')", "('Luxembourg')", "('Macedonia')", "('Malta')", "('Monaco')", "('Netherlands')", "('Norway')", "('Poland')", "('Portugal')", "('Romania')", "('Russia')", "('Slovakia')", "('Slovenia')", "('Spain')", "('Sweden')", "('Switzerland')", "('Ukraine')", "('United Kingdom')", "('Other')"); var australiaArray = new Array("('Select country','',true,true)", "('Australia')", "('New Zealand')", "('Other')"); var lamericaArray = new Array("('Select country','',true,true)", "('Costa Rica')", "('Cuba')", "('El Salvador')", "('Guatemala')", "('Haiti')", "('Jamaica')", "('Mexico')", "('Panama')", "('Other')"); var namericaArray = new Array("('Select country','',true,true)", "('Canada')", "('USA')", "('Other')"); var samericaArray = new Array("('Select country','',true,true)", "('Argentina')", "('Bolivia')", "('Brazil')", "('Chile')", "('Colombia')", "('Ecuador')", "('Paraguay')", "('Peru')", "('Suriname')", "('Uruguay')", "('Venezuela')", "('Other')"); function populateCountry(inForm,selected) { var selectedArray = eval(selected + "Array"); while (selectedArray.length < inForm.country.options.length) { inForm.country.options[(inForm.country.options.length - 1)] = null; } for (var i=0; i < selectedArray.length; i++) { eval("inForm.country.options[i]=" + "new Option" + selectedArray[i]); } if (inForm.region.options[0].value == '') { inForm.region.options[0]= null; if ( navigator.appName == 'Netscape') { if (parseInt(navigator.appVersion) < 4) { window.history.go(0); } else { if (navigator.platform == 'Win32' || navigator.platform == 'Win16') { window.history.go(0); } } } } } function populateUSstate(inForm,selected) { var stateArray = new Array("('Select State','',true,true)", "('Alabama')", "('Alaska')", "('Arizona')", "('Arkansas')", "('California')", "('Colorado')", "('Connecticut')", "('Delaware')", "('Columbia')", "('Florida')", "('Georgia')", "('Hawaii')", "('Idaho')", "('Illinois')", "('Indiana')", "('Iowa')", "('Kansas')", "('Kentucky')", "('Louisiana')", "('Maine')", "('Maryland')", "('Massachusetts')", "('Michigan')", "('Minnesota')", "('Mississippi')", "('Missouri')", "('Montana')", "('Nebraska')", "('Nevada')", "('New Hampshire')", "('New Jersey')", "('New Mexico')", "('New York')", "('North Carolina')", "('North Dakota')", "('Ohio')", "('Oklahoma')", "('Oregon')", "('Pennsylvania')", "('Rhode Island')", "('South Carolina')", "('South Dakota')", "('Tennessee')", "('Texas')", "('Utah')", "('Vermont')", "('Virginia')", "('Washington')", "('West Virginia')", "('Wisconsin')", "('Wyoming')"); if (selected == 'USA') { for (var i=0; i < stateArray.length; i++) { eval("inForm.country.options[i]=" + "new Option" + stateArray[i]); } if ( navigator.appName == 'Netscape') { if (parseInt(navigator.appVersion) < 4) { window.history.go(0) } else { if (navigator.platform == 'Win32' || navigator.platform == 'Win16') { window.history.go(0) } } } } else { } if (selected == 'Other') { newCountry = ""; while (newCountry == ""){ newCountry=prompt ("Please enter the name of your country.", ""); } if (newCountry != null) { inForm.country.options[(inForm.country.options.length-1)]=new Option(newCountry,newCountry,true,true); inForm.country.options[inForm.country.options.length]=new Option('Other, not listed','Other'); } } if(inForm.country.options[0].text == 'Select country') { inForm.country.options[0]= null; } } // End --> </script> А в BODY вот это: <form name="globe"> <select name="region" onChange="populateCountry(document.globe,document.globe.region.options[document.globe.region.selectedIndex].value)"> <option selected value=''>Select Region</option> <option value='asia'>Asia</option> <option value='africa'>Africa</option> <option value='australia'>Australia</option> <option value='europe'>Europe</option> <option value='middleeast'>Middle East</option> <option value='lamerica'>Latin America</option> <option value='namerica'>North America</option> <option value='samerica'>South America</option> </select> <select name="country" onChange="populateUSstate(document.globe,document.globe.country.options[document.globe.country.selectedIndex].text)"> <option value=''><--------------------</option> </select> </form> |
Часовой пояс GMT +3, время: 14:47. |