Javascript 如何获取所选项目在选择框中的位置

Javascript 如何获取所选项目在选择框中的位置,javascript,html,css,Javascript,Html,Css,我想返回所选项目在选择框中的位置,而不是值: 以下是我正在尝试的,但我认为这可能是不可能的: const selectBox=document.getElementById('selectBox'); 函数selectClicked(){ console.log(selectBox.value);//这是值,但我需要位置 } 0 0 0 0 0 0 不确定您是想要所选项目的值或所选索引还是只想要所选项目的文本。以下内容将涵盖所有内容。请参见代码中的注释 document.getElemen

我想返回所选项目在选择框中的位置,而不是值:

以下是我正在尝试的,但我认为这可能是不可能的:

const selectBox=document.getElementById('selectBox');
函数selectClicked(){
console.log(selectBox.value);//这是值,但我需要位置
}

0
0
0
0
0
0

不确定您是想要所选项目的
所选索引
还是只想要所选项目的
文本
。以下内容将涵盖所有内容。请参见代码中的注释

document.getElementById('selectBox').addEventListener(
'change',//您需要监听“change”事件,而不是“click”事件
功能(事件){
console.log(
'selectedIndex:'+event.target.selectedIndex,//它的索引为零,这意味着第一项将为0
“|值:”+event.target.value,
“| text:”+this.options[event.target.selectedIndex].text
);
}
);

零
一个
两个
三
四
五

这将获取单击选项的位置(对OP的代码进行尽可能少的修改)

const selectBox=document.getElementById('selectBox');
函数selectClicked(){
console.log(selectBox.selectedIndex);//位置从0开始
}

0
0
0
0
0
0

如果使用的是
onclick
,则无需定义
const selectBox=…
,因为您可以从onclick事件处理程序获得
selectedIndex
。或者删除
onclick
,然后为元素()使用适当的eventListener。我只是尝试尽可能少地修改OP的代码以获得所选索引。除了实际回答问题的部分之外,您的其他建议是对OP代码的评论,而不是使此代码按预期工作的一个组成部分。尽管如此,我还是要补充一点,我的答案是经过最少必要的修改完成的。