Javascript 当我将值返回到html时出现问题,1是否未定义?
我得到一个没有定义1的错误,有人知道为什么吗?我似乎找不到我的错误。 错误是关于:Javascript 当我将值返回到html时出现问题,1是否未定义?,javascript,html,Javascript,Html,我得到一个没有定义1的错误,有人知道为什么吗?我似乎找不到我的错误。 错误是关于:document.getElementById(“return_data”).innerHTML=BeerData[retu][1] var BeerData=[ [“Jupiler”,5.2], [“Cristal”,5], [“Stella Artois”,5.2], [“GOUDEN CAROLUS经典”,8.5], [“GOUDEN CAROLUS TRIPEL”,9], [“GOUDEN CAROLUS
document.getElementById(“return_data”).innerHTML=BeerData[retu][1]代码>
var BeerData=[
[“Jupiler”,5.2],
[“Cristal”,5],
[“Stella Artois”,5.2],
[“GOUDEN CAROLUS经典”,8.5],
[“GOUDEN CAROLUS TRIPEL”,9],
[“GOUDEN CAROLUS威士忌注入”,11.7],
[“杜维尔”,8.5],
[“杜维尔三脚跳”,9.5]
];
对于(i=0;i
Verzenden
韦尔克喝酒了?
这里有两个问题:
通过比较if(BeerData[i][1]==document.getElementById(“drinkList”).value)
,您没有比较每个BeerData
元素的正确元素。您已使用BeerData[i][0]
中的值创建了每个选项
,但随后尝试将其与BeerData[i][1]
进行比较
通过相同的比较if(BeerData[i][1]==document.getElementById(“drinkList”).value)
,您还尝试获取IDdrinkList
元素的值,该值是数据列表
元素,而不是希望获取其值的输入
。相反,您应该将分配了饮料
ID的元素的值
属性作为目标
var BeerData=[
[“Jupiler”,5.2],
[“Cristal”,5],
[“Stella Artois”,5.2],
[“GOUDEN CAROLUS经典”,8.5],
[“GOUDEN CAROLUS TRIPEL”,9],
[“GOUDEN CAROLUS威士忌注入”,11.7],
[“杜维尔”,8.5],
[“杜维尔三脚跳”,9.5]
];
对于(i=0;i
弗森登
韦尔克喝酒了?
您的目标是索引1,它是数字而不是下拉列表中的字符串;其次,您获取的是数据列表的id,它只是一个标签,无法返回所选值。但是,该值被设置为输入字段,因此您所要做的就是将输入字段id作为目标
document.getElementById("drink").value
工作代码:
var BeerData=[
[“Jupiler”,5.2],
[“Cristal”,5],
[“Stella Artois”,5.2],
[“GOUDEN CAROLUS经典”,8.5],
[“GOUDEN CAROLUS TRIPEL”,9],
[“GOUDEN CAROLUS威士忌注入”,11.7],
[“杜维尔”,8.5],
[“杜维尔三脚跳”,9.5]
];
对于(i=0;i
弗森登
韦尔克喝酒了?
我还没有对它进行测试,但刚才我假设有两个问题:1。在循环的if条件下,您可能必须对照BeerData[i][0]
2进行检查。如果未选择任何选项,retu
将是未定义的
,除此之外,最好的做法是在找到匹配项后在循环中使用break
语句(如果只能存在一个匹配项)