Javascript 从JS If语句的HTML select语句中获取值

Javascript 从JS If语句的HTML select语句中获取值,javascript,html,if-statement,Javascript,Html,If Statement,我在尝试确定HTML选择对象的值时遇到了一点麻烦 我有两个项目,我把它们记为值1或值2,但我尝试的任何方法在打印到控制台时都只返回“Undefined” var catId=document.getElementById('catId'); var catCheck=catId.options[catId.selectedIndex].value; 控制台日志(catId); console.log(catCheck) 类别 产品 您还可以像这样获得所选的: var catCheck = d

我在尝试确定HTML选择对象的值时遇到了一点麻烦

我有两个项目,我把它们记为值1或值2,但我尝试的任何方法在打印到控制台时都只返回“Undefined”

var catId=document.getElementById('catId');
var catCheck=catId.options[catId.selectedIndex].value;
控制台日志(catId);
console.log(catCheck)

类别
产品

您还可以像这样获得所选的

var catCheck = document.getElementById("catid").selectedIndex;
console.log(catCheck);
第一个选项返回0,第二个选项返回1,依此类推。
您不必以这种方式使用
value

您可以通过为
change
事件添加事件侦听器来侦听要更改的
select
元素。这将在您在下拉列表中选择新值时触发
performDropdownAction
功能。然后,您可以使用
this.value
获取当前下拉项的值

此外,我还添加了一个
窗口.onload
事件,该事件将在加载网页时触发,这意味着在加载网页和选择新项目时,它将执行
performnDropdownAction

请参见下面的工作示例:

const performDropdownAction=函数(){
让current=this.value | | document.getElementById('catid').value;
如果(当前==1){
console.log(“选择一个”);
}否则如果(当前==2){
console.log(“选择两个”);
}
}
window.onload=performDropdownAction;
document.getElementById('catid')。addEventListener('change',performDropdownAction)

类别
产品

可能重复感谢您的帮助!让我意识到我的问题不是我如何读取值,而是我在哪里读取值-一旦我将var移动到函数中,它就会突然正常工作!非常感谢!上面提到的绝对也适用于读取索引!