使用javascript和XML填充下拉框

时间:2015-01-28 10:02:57

标签: javascript ajax xml select

对所有这些都很新,所以请耐心地使用我,并使用简单的答案!

我正在尝试动态填充下拉框(theSecondBox),其中的项目列表取决于在另一个下拉框(theCriteria)中所做的选择。

我已经能够执行AJAX请求并返回XML文档。

到目前为止,我的脚本看起来像这样: -

<script type="text/javascript">
var xmlHttp;

function triggerAction(){
xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
criteria = document.getElementById("theCriteria").value;
xmlHttp.open("GET","MyURL?criteria=" + criteria, true);    
xmlHttp.send(null);  
}  

function handleStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
parseResults();}
}
}

这会向我返回一个XML文档,如下所示: -

<list>
    <string>FirstDropDownItem</string>
    <string>SecondDropDownItem</string>
    <string>ThirdDropDownItem</string>
</list>

所以,我试图用这些项目填充我的第二个下拉框,使用类似的东西......

function parseResults(){

var results 
var selectTag

results = xmlHttp.responseXML;
selectTag = document.getElementById("theSecondBox");

......这就是我需要的一些简单的&#39;指针。

如何使用XML文档中返回的项填充secondBox?到目前为止我尝试过的所有东西(我都不会复制它以挽救我的尴尬!)只是给了我空的。

为这个简单的问题道歉,但正如我所说,我不是一个程序员,所以任何一个解决方案或一个有助于教育我的好教程的指针都将非常感激。< / p>

1 个答案:

答案 0 :(得分:0)

w3schools不是一个好的来源,但这一次请看看 at(&#34;如果&#34; IE5现在已经过时): http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

坦率地说,document.getElementById(&#34; myDiv&#34;)。innerHTML = xmlhttp.responseText 是你需要的。 就在此之前,你可以直接替换&#34; list&#34;用&#34; ul&#34;和&#34; li&#34;。

最好在后端更改xml,但如果你不能尝试str.replace ......

var new_text = text.replace(/ want / g,&#34;不要&#34;);