【发布时间】: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