Home > Backend Development > XML/RSS Tutorial > XML Practical Cheats Volume 4: Menu Linkage

XML Practical Cheats Volume 4: Menu Linkage

巴扎黑
Release: 2017-03-19 15:45:28
Original
1572 people have browsed it

[Introduction] Now let's do a small example of applying xml in IE: solving the linkage problem of double drop-down menus. Perhaps the most common example is to select a province and then change the city options, so let's try to use XML to complete it. Some of the functions I introduced before were implemented directly using XML+XSL files.

Now let’s do a small example of applying xml in IE: solving the linkage problem of double drop-down menus. Perhaps the most common example is to select a province and then change the city options, so let's try to use XML to complete it.

I have implemented some of the functions introduced before directly using XML+XSL files. You may not be very familiar with its usage, so I will use HMTL+XML this time, hoping to make everyone more familiar with it. Clear understanding - "XML can be so simple!":)


Materials:
XML volume selection menu linkage
There are 2 files: Citys.xml and CitySelect.htm

Function:
After selecting a province, the corresponding city can be automatically displayed, which is convenient for users, effectively improves data interaction, and makes your page more colorful.
Effect:
Browse here
Code:
Citys.xml

<?xml version="1.0" encoding="gb2312"?>
<China>
  <State id="1" name="江西">
    <City>九江</City>
    <City>南昌</City>
    <City>庐山</City>
    <City>景德镇</City>
  </State>
  <State id="2" name="北京">
    <City>北京西</City>
    <City>居庸关</City>
    <City>清华园</City>
    <City>周口店</City>
  </State>
  <State id="3" name="福建">
    <City>福州</City>
    <City>厦门</City>
    <City>漳州</City>
  </State>
  <State id="4" name="甘肃">
    <City>兰州</City>
    <City>洛门</City>
    <City>嘉峪关</City>
  </State>
  <State id="5" name="广东">
    <City>广州</City>
    <City>深圳</City>
    <City>东莞</City>
    <City>石牌</City>
  </State>
  <State id="6" name="安徽">
    <City>合肥</City>
    <City>黄山</City>
    <City>九龙岗</City>
    <City>马鞍山</City>
  </State>
</China>
Copy after login



CitySelect.htm

Custom function: ChooseState
(Read the name of the province in the XML data and add it to the SelState drop-down list)

function ChooseState()
{
  var source;
  var sourceName = "Citys.xml";
  var source = new ActiveXObject(&#39;Microsoft.XMLDOM&#39;);   //创建一个 MSXML解析器实例
  source.async = false;
  source.load(sourceName);   //装入XML文档
  root = source.documentElement;   //设置文档元素为根节点元素
  sortField=root.selectNodes("//@name");   //搜索属性中含有name的所有节点
  for(var i=0;i<sortField.length;++i)   //增加省份名称到下拉列表
  {
    var oOption = document.createElement(&#39;OPTION&#39;);
    oOption.text = " "+sortField[i].text+" ";
    oOption.value = sortField[i].text;
     form1.SelState.options.add(oOption); 
  }
   ChooseCity();
}
Copy after login


Custom function: ChooseCity
(according to The currently selected province name is used to read the corresponding city name in the XML data and add it to the SelCity drop-down list)

function ChooseCity()
{
  x=form1.SelState.selectedIndex;   //读取省份下拉框的当前选项
  y=form1.SelState.options[x].value;
  sortField=root.selectNodes("//State[@name=&#39;"+y+"&#39;]/City&q uot;);   //搜索name属性值等于
参数y的State节点下的所有city节点
  for(var i=form1.SelCity.options.length-1;i>=0;--i)   //撤消原来的列表项
  {
    form1.SelCity.options.remove(i)
  }
  for(var i=0;i<sortField.length;++i)   //增加城市名称到下拉列表
  {
    var oOption = document.createElement(&#39;OPTION&#39;);
    oOption.text = " "+sortField[i].text+" ";
    oOption.value = sortField[i].text;
    form1.SelCity.options.add(oOption); 
  }
}
Copy after login




Form source code

<BODY onLoad="ChooseState()">
<FORM action="" method="post" id="form1" name="form1">
<SELECT name="SelState" id="SelState" onchange="ChooseCity()" >
</SELECT>
<SELECT name="SelCity" id="SelCity" >
</SELECT>
</FORM>
</BODY>
Copy after login



Postscript:
When I first started learning XML, I had the same confusion as everyone else - "I have learned XML, but how should I use it?" What? "This question has been holding me back for a long, long time...

Because e-commerce and software development are my expertise, I thought it would be better to start with what I am most familiar with. So I implemented some of the most commonly used functions in website construction in XML. You can do it too!                    

The above is the detailed content of XML Practical Cheats Volume 4: Menu Linkage. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template