在开关循环中使用select元素的值(javascript)
我试图在我的循环中使用下拉菜单选项的值,但我得到了未捕获的错误,所有这些在filter1中都是未定义的在开关循环中使用select元素的值(javascript),javascript,select,switch-statement,Javascript,Select,Switch Statement,我试图在我的循环中使用下拉菜单选项的值,但我得到了未捕获的错误,所有这些在filter1中都是未定义的 function filter1() { var x = document.getElementById("filter1").value; switch(x) { case all: getElementsByClassName("1").style.display="none"; break; } cons
function filter1() {
var x = document.getElementById("filter1").value;
switch(x) {
case all:
getElementsByClassName("1").style.display="none";
break;
}
console.log(x);
}
HTML:
所有国家
改用这个
function filter1() {
var x = document.getElementById("filter1").value;
switch(x) {
case "all":
getElementsByClassName("1").style.display="none";
break;
}
console.log(x);
}
您缺少
引号
,无法在大小写'all'
中分配字符串。请添加一个大于仅执行更改功能的选项
更改document.getElementsByClassName(“1”)[0]
而不是getElementsByClassName(“1”)
。因为类名是多重选择器
函数过滤器1(){
var x=document.getElementById(“filter1”).value;
开关(x){
“全部”案例:
console.log('work')
//document.getElementsByClassName(“1”)[0].style.display=“无”;
打破
}
控制台日志(x);
}
所有国家
全体
简短回答:您忘记了“all”周围的引号
这应该起作用:
函数过滤器1(值){
开关(值){
“全部”案例:
//getElementsByClassName(“1”).style.display=“无”;
console.log('all selected');
打破
}
console.log(值);
}
所有国家
美国
可能您应该使用下一种结构:
函数过滤器1(){
return document.getElementById(“filter1”).getAttributes(“value”).then(function(){
})
}
case“all”
请注意引号。@abhishekkannojia我可以添加这个作为答案。如果你愿意,我可以提到你like@abhishekkannojia谢谢
function filter1() {
var x = document.getElementById("filter1").value;
switch(x) {
case "all":
getElementsByClassName("1").style.display="none";
break;
}
console.log(x);
}