我有一个本地文本文件,我试图用该数据填充选择下拉列表。我已经安装了IIS来克服本地限制,并且过去了CORS。我已经使用xhttp方法从位于IIS服务器上的文件中检索文本文件数据。我可以在div中显示它,如下面的代码所示。我正在尝试将这些数据放入一个下拉列表中,以方便地获取价值。例如,如果用户选择“ Part1”,我将像从我特别声明的任何其他下拉列表中一样,从1中得到一个整数值。如果可能的话,我希望使用javascript解决方案,因为那是我大部分时候一直在使用的代码。
我在Google上寻找了没有真正匹配的解决方案。
<body onload="pList();">
<div id="PartList"></div>
<script>
function pList() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("PartList").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "http://127.0.0.1:8080/PartList.txt", true);
xhttp.send();
}
</script>
答案 0 :(得分:1)
您必须将数据拆分为一个数组,然后以这种方式添加到选择中:
<script>
function pList() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var options = this.responseText.split(delimiter);
var select = document.getElementById("PartList");
for (var i = 0; i < options.length; i++) {
var option = document.createElement("option");
option.text = options[i];
option.value = i;
select.add(option);
}
}
};
xhttp.open("GET", "http://127.0.0.1:8080/PartList.txt", true);
xhttp.send();
}
</script>
如果要在加载前清除选择,请使用以下方法:
document.getElementById("PartList").innerHTML = "";