Показать сообщение отдельно
  #35 (permalink)  
Старый 14.03.2016, 09:58
Кандидат Javascript-наук
Отправить личное сообщение для leon2009sp Посмотреть профиль Найти все сообщения от leon2009sp
 
Регистрация: 22.12.2015
Сообщений: 106

по шагам:
<script>
            function loadXMLDoc(filename) {
                if (window.ActiveXObject) {
                    xhttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                else {
                    xhttp = new XMLHttpRequest();
                }
                xhttp.open("GET", filename, false);
                try { xhttp.responseType = "msxml-document" } catch (err) { } // Helping IE11
                xhttp.send(null);
                return xhttp.responseXML;
            }

загрузили хмль
document.addEventListener('DOMContentLoaded', function () {
                var xml = loadXMLDoc("xml/city.xml"),
                    selCity = document.querySelector('#city'),
                   // selStation = document.querySelector('#station2'),i;
                    selStation = document.getElementById('#station2'),i;
                [].forEach.call(xml.querySelectorAll('city'), function (el) {
                  selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name')))
                 
                  //  document.getElementById('sec1').innerHTML = el.getAttribute('name'),el.getAttribute('name');
                })

прошлись по сити и именам его а т.е. (name="Новосибирск") или (name="Москва") или name="ленинград".
selCity.addEventListener('change', function () {
                     selStation.options.length = 0 , i=0;
					//selStation.id.length = 0 , i=0;
                    [].forEach.call(xml.querySelectorAll('city[name=' + this.value + '] > station2'), function (el) {
                     //   selStation.add(new Option(el.textContent, ++i));
					 
                     //   document.getElementById('sec1').innerHTML = el.textContent;
					//	 document.getElementById('station2').innerHTML = el.getAttribute('name'),el.getAttribute('name'),i;
					//selStation.add(el.textContent,++i);
					document.getElementById('sec1').innerHTML = '123123123';
                    })
                })
            })
        </script>

начиная с первой строки если выбрали то автоматом выбирается статион пр:
<station2>tpl_novosib1</station2>
.

ХМЛЬ:
<?xml version="1.0" encoding="utf-8"?>
<category>
    <city name="Россия" link="db/russia/ac/index.php">
		<station2>tpl_rus</station2>
	</city>
	<city name="Омск" link="acura.php">
		<station2>tpl_omsk</station2>
	</city>
	<city name="Новосибирск" link="acura.php">
		<station2>tpl_novosib1</station2>
	</city>
</category>
Ответить с цитированием