Задраивается прошу Вас помочь мне пожалуйста есть два xml файла к примеру.
1
Код:
|
<?xml version="1.0" encoding="utf-8"?>
<links>
<link>Тип1</link>
<link>Тип2</link>
</links> |
2
Код:
|
<?xml version="1.0" encoding="utf-8"?>
<links>
<link>
<tip>Тип1</tip>
<kat>Категория</kat>
</link>
<link>
<tip>Тип1</tip>
<kat>Категория1</kat>
</link>
<link>
<tip>Тип2</tip>
<kat>Категория2</kat>
</link>
</links> |
javasсript-отм данные вытягиваю в два selectа все вроде получается до этого момента. Задача такова надо при выборе первого selectа данные во втором менялись в зависимости что выбрали.
У меня получилось вроде все но вот ни как не могу в xpath передать переменную или функцию javasсript
Вот как я сделал
function val1() {
d = document.getElementById("select_id").value;
return d;
}
function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", dname, false);
xhttp.send("");
return xhttp.responseXML;
}
xml = loadXMLDoc("sam.xml");
path = "/links/link"
xml1 = loadXMLDoc(".sam1.xml");
path1 = "/links/link[tip='?????']/kat"
// CODE FOR IE
if (window.ActiveXObject) {
var nodes = xml.selectNodes(path);
document.write("<table><tr><td>Тип:<br /><select name='tip'><option value=''></option>");
for (i = 0; i < nodes.length; i++) {
document.write("<option value='" + nodes[i].childNodes[0].nodeValue + "' >" + nodes[i].childNodes[0].nodeValue + "</option>");
}
document.write("</select></td>");
var nodes = xml1.selectNodes(path1);
document.write("<td>Тип:<br /><select name='tip'><option value=''></option>");
for (i = 0; i < nodes.length; i++) {
document.write("<option value='' >" + nodes[i].childNodes[0].nodeValue + "</option>");
}
document.write("</select></td></tr></table>");
}
// CODE FOR MOZILLA, FIREFOX, OPERA, ETC.
else if (document.implementation && document.implementation.createDocument) {
var nodes = xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
var result = nodes.iterateNext();
document.write("<form method='post' action='add3.php'><table><tr><td>Тип:<br /><select onchange='val1()' id='select_id' name='tip'><option value=''></option>");
while (result) {
document.write("<option value='" + result.childNodes[0].nodeValue + "' >" + result.childNodes[0].nodeValue + "</option>");
result = nodes.iterateNext();
}
document.write("</select></td>");
var nodes = xml1.evaluate(path1, xml1, null, XPathResult.ANY_TYPE, null);
var result = nodes.iterateNext();
document.write("<td>Услуги:<br /><select name='usluga'><option value=''></option>");
while (result) {
document.write("<option value='' >" + result.childNodes[0].nodeValue + "</option>");
document.write("<br />");
result = nodes.iterateNext();
}
document.write("</select></td><td><input type='submit' name='submit' value='Добавить'></td></tr></table></form>");
}
Помогите пожалуйста уже неделю мучаюсь ни как не получаеться