Jquery - 根据下拉菜单选择加载XML文件

时间:2012-06-19 11:09:41

标签: javascript jquery

我是一个正在尝试创建q&应用程序的菜鸟。目前,我一直在试验Jquery的简单易用性。我需要一个Jquery或Javascript函数,(1)允许用户从下拉框中选择Q& A类别,(2)告诉Jquery代码根据用户的选择选择哪个XML文件。选择XML文件后如何处理是另一回事。

我成功地使用预定义的XML文件变量创建了一个函数 -

$("#target").click(function() { 
    var a = 'TestFile2.xml';
    var b = 'TestFile3.xml';
    var c = 'TestFile4.xml';
    $.ajax({
        url: c,
        type: 'GET', 
        dataType: 'xml',
        success: parseXML
    });
})

但是我没有成功创建一个将要用于下拉菜单的XML文件连接起来的函数。这是我一直在努力工作的Javascript函数 -

<div id="target">
  Click here
</div>

<script type="text/javascript">

function (selFile() 
{

var p = document.LoadCategory.Load.value;

    if (p == "testFile2") {var x = "TestFile2.xml"}     

    if (p == "testFile3") {var x = "TestFile3.xml"}         

    if (p == "testFile4") {var x = "TestFile4.xml"} 

})

$("#target").click(function()

{ 

 $.ajax({

            url: x,

            type: 'GET', 

            dataType: 'xml',

            success: parseXML

       });
})

我在上面尝试了很多变化,但无济于事。我有一种感觉,我正在做一些非常简单的事情。我真的很感激任何提示或建议。

1 个答案:

答案 0 :(得分:0)

您需要在功能var x声明之前向上移动selFile

var x;
function (selFile() 
//... rest of your code

并从var语句中删除if个语句:

if (p == "testFile2") {x = "TestFile2.xml"}     
if (p == "testFile3") {x = "TestFile3.xml"}         
if (p == "testFile4") {x = "TestFile4.xml"} 

编辑:

同样正确的自我执行功能应该是:

var x;
(function selFile() {
    var p = document.LoadCategory.Load.value;
    if (p == "testFile2") {x = "TestFile2.xml"}     
    if (p == "testFile3") {x = "TestFile3.xml"}         
    if (p == "testFile4") {x = "TestFile4.xml"} 

})();