Здравствуйте! как на страницу поместить два одинаковых скрипта? один читает xml1.xml другой xml2.xml Код (PHP): <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("xml1.xml"), selCity = document.querySelector('#city'), selStation = document.querySelector('#station2'), i; [].forEach.call(xml.querySelectorAll('city'), function (el) { selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name'))) }) selCity.addEventListener('change', function () { selStation.options.length = 0 , i=0; [].forEach.call(xml.querySelectorAll('city[name=' + this.value + '] > station2'), function (el) { selStation.add(new Option(el.textContent, ++i)); }) }) }) </script> <select id=city><option selected>11111111</option></select> <div id=station2>222222222</div> второй код Код (PHP): <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("xml2.xml"), selCity = document.querySelector('#word'), selStation = document.querySelector('#text2'), i; [].forEach.call(xml.querySelectorAll('word'), function (el) { selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name'))) }) selCity.addEventListener('change', function () { selStation.options.length = 0 , i=0; [].forEach.call(xml.querySelectorAll('word[name=' + this.value + '] > text2'), function (el) { selStation.add(new Option(el.textContent, ++i)); }) }) }) </script> <select id=word><option selected>33333333</option></select> <select id=text2>4444444444</select> и как в первом коде чтобы результат выдавал в div а не в select Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Это же одинаковые функции loadXMLDoc, может просто добавить аргумент в функцию и туда передавать xml1.xml и xml2.xml. Почитай что такое переменные, функции, аргументы функции.
понял пр: Код (PHP): loadXMLDoc(filename_01) и loadXMLDoc(filename_02) а как сделать чтобы в место селект в ДИВ выводил? Код (PHP): <div id=station2>222222222</div>
я ничего не понял давай сопоставим, у тебя два <select> с id city и station2 и код туда что-то вставляет, найди в коде упоминание city и station2 и переделай на station2
Код (PHP): var xml = loadXMLDoc("xml/city.xml"), selCity = document.querySelector('#city'), selStation = document.querySelector('#station2'), i; эта часть? получается если из select1 выбрать слово, то в select2 будет меняться значение. а я хотел бы чтобы в div помезалось а не в селект2. все берется из xml
Мне тебя очень сложно понять. У тебя какой уровень? И ты полностью понимаешь весь код который сюда выложил?
Проще почитать книгу по HTML и JavaScript для начинающих. Зачем пример если смысл в том, чтобы понять как всё взаимодействует, какие причинно следственные связи, как всё работает вместе. Пример: https://jsfiddle.net/vrgovuqy/
ну я понимаю весь код который написал теперь! я не могу понять почему в див не высвечивается значение. Добавлено спустя 2 минуты 12 секунд: скрипт сделан для селекта, а в див то не передает. вот из сити выбираешь и в статион твой выбор выдает, но в селекте.
Всё из-за того что ты взял очень сложную задачу для себя. Если бы ты читал книги, то знал бы что нужно разбить задачу на маленькие куски и переписать код который ты не понимаешь. Часть кода который отвечает за добавление новых option к select на основе данных из xml Код (PHP): selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name'))) Работать с div нужно по другому, пример я дал. Всё можно прочитать в документации или книгах. Зная основы ты как минимум сможешь правильно сформулировать вопрос. Могу перенести твою тему в раздел "сделайте за меня", если ты не хочешь учится.
смысла нет, переносить сделай за меня... тогда я в следующем примере не смогу разобраться. а там хотел перенести в php то что получиться.
Совет: прочитай книгу для начинающих по HTML, CSS и JavaScript по свежее 2014 года. Там просто разжуют все последовательности и все нюансы, их запомнишь и всё будет понятно.
denis01 Код (PHP): selCity.add(new Option(el.getAttribute('name'), el.getAttribute('name'))) этот кусок отвечает за чтение (конструктор), но ни каким образом не влияет на div?
Код (PHP): <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'); }) selCity.addEventListener('change', function () { selStation.options.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; }) }) }) </script> <select id=city><option selected>33333333</option></select> <div id="sec1">123</div>
а хотя бы как ссылку передать может кто подсказать? файл xml: </cat> </category> [/quote] вывод через див Код (PHP): <div id="example"/></div>
у меня получается выдает такую запись: Категория_A a1 aa1.php a2 aa22.php a3 aa33.php Категория_B bbbb111 index.php bb2222 acura.php bbb3333 alfaromeo.php[/list:u] а как сделать чтобы a1 была ссылка a2,a3, bbbb111 и.т.д. index.html Код (PHP): <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Документ без названия</title> <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(""); return xhttp.responseXML; } function displayResult() { xml = loadXMLDoc("db.xml"); xsl = loadXMLDoc("testXSL.xsl"); // code for IE if (window.ActiveXObject || xhttp.responseType == "msxml-document") { ex = xml.transformNode(xsl); document.getElementById("example").innerHTML = ex; } // code for Chrome, Firefox, Opera else if (document.implementation && document.implementation.createDocument) { xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); resultDocument = xsltProcessor.transformToFragment(xml, document); document.getElementById("example").appendChild(resultDocument); } } </script> </head> <body onload="displayResult()"> <div id="example"/></div> </body> </html>
Тег A для ссылок, почитай по нему документацию, примерно так Код (PHP): .innerHTML = '< a href="#">'+ex+'</a>';