每当用户更改 List1 (selQueryType)中的选择时,我想重新生成 List2 (selSortt)。在原始状态下, List2 为空白。两个列表都是较大的HTML输入文档的一部分。 List1 有4个选项,因此最终会有4个ifs - 实际上是switch
。 列表2 是从预定义的数组( listvalues )生成的,而不是来自 List1 (请参阅代码)。
Function QueryTypeChg()
List1触发了 onchange
- 我检查了一个警告,它被解雇了。在尝试生成List2的新选项时,问题似乎出现在for
周期中。 没有添加选项到List2 - 它原来是空白的。
function QueryTypeChg()
{
var selIndex = document.getElementById("selQueryType").selectedIndex;
var objSel = document.getElementById("selSortt");
var i = 0;
while (objSel.length > 0)
{
objSel.remove(0);
}
if (selIndex == 0)
{
var listvalues = ["Species", "Region, area", "Anthesis", "Vulnerability"];
for (i = 0; i < options.length; i++)
{
var option = document.createElement("option");
option.text = listvalues[i];
option.value = i;
// alert("option.text is " + option.text);
objSel.add(option);
}
}
}
答案 0 :(得分:1)
while (objSel.length > 0)
{
objSel.remove(0);
}
如果要清除选择,则只需用
替换此while循环objSel.innerHTML = "";
完整的代码应该是
function QueryTypeChg()
{
document.getElementById("selSortt").innerHTML = document.getElementById("selQueryType").innerHTML
document.getElementById("selSortt").selectedIndex = document.getElementById("selQueryType").selectedIndex;
}
答案 1 :(得分:0)
您使用选项变量而不是 listvalues 请更改以下可能对您有帮助的代码
curl -XPUT 'http://localhost:9200/myindex/_mapping/external' -d '
{
"external" : {
"properties" : {
"id": {"type":"string"},
"name": {"type":"string"},
"description": {"type":"string"},
"source": {"type":"string"},
"topic":{"type":"string"} // <---new field
}
}
}'
与
for (i = 0; i < options.length; i++)
答案 2 :(得分:0)
我&#34;钉牢&#34;它使用以下代码:
function QueryTypeChg()
{
var selIndex = document.getElementById("listQueryType").selectedIndex;
localStorage.setItem("QueryType", selIndex);
if (selIndex == 0)
{
var listvalues = ["Species", "Region, area", "Anthesis", "Vulnerability"];
var str_options = '';
for (var i=0; i < listvalues.length; i++)
{
str_options += "<option value='" + [i] + "'>" + listvalues[i] + "</option> \r\n";
}
$("#listSort").html("");
$("#listSort").append(str_options);
return;
}
}
我仍然不知道为什么它不能使用初始代码。它可以在W3Schools试试窗口和其他我见过的例子中工作。还有一个特点是它使用html()
方法,而不是innerHTML
属性。这个JavaScript究竟是什么样的多种语言?在Pascal中,只有一种方法可以做某件事!