【问题标题】:How can I do a conditional statement so ajax fetchs the correct xml document如何执行条件语句以便 ajax 获取正确的 xml 文档
【发布时间】:2019-07-09 20:01:58
【问题描述】:

我有一个简单的代码来获取 xml 文件并将其显示为下拉列表。但是,我想根据条件获取 xml 文件。如果等于 study1,则 .ajax 选择 ctc3.xml,否则选择 ctc5.xml。

如果我正在获取特定的 xml 文件,我的代码可以正常工作,但条件不起作用。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script lang="Javascript"> $.noConflict(); 
jQuery(document).ready(function($) {
    var myField = $("#myList") var myOutputField = $("#myOutput").parent().parent().find("input");
    myOutputField.attr("readonly",true);
    var studyID="${studyName}";
    if (studyID!="Test"){
    $.ajax({ 
        type: "GET", 
        url: "includes/ctcae3.xml", 
        dataType: "xml", 
        success: parseXML 
    });
    }
    else {
        $.ajax({ 
            type: "GET", 
            url: "includes/ctcae5.xml", 
            dataType: "xml", 
            success: parseXML 
        });
    }
    function parseXML(xml){
        $(xml).find("atccode").each(function(){
            myField.append($("<option />").val($(this).attr("code")).text($(this).find("description").text()));
        }); 
        myField.val(myOutputField.val());
    } 
    myField.change(function(){
        myOutputField.val(myField.val());
        myOutputField.change();
    });
 });
 </script><select id="myList"> <option val="None"/>None </select> `

【问题讨论】:

  • 您的条件是检查 "${studyName}" == 'Test' 是否总是失败。
  • 抱歉,已将条件更正为 'if (studyID!="Test")' 仍然无法正常工作。
  • 好吧,你有没有调试过你的代码并问自己这个测试是否正确,条件是否按预期变化? SO 是一个糟糕的调试器...ericlippert.com/2014/03/05/how-to-debug-small-programs
  • 使用 Chrome 的检查功能,我可以看到 studyID 变量的值,它与值“Test”匹配,这应该使 ajax 选择 ctcae5.xml 文件。但是,下拉列表显示为空

标签: javascript ajax conditional


【解决方案1】:

问题已解决。显然我的大脑已经被炸了。只需添加';'给var myField = $("#myList");

【讨论】:

    猜你喜欢
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    相关资源
    最近更新 更多