【发布时间】:2018-10-05 09:09:16
【问题描述】:
我有一个导航下拉菜单,其 onchange 属性调用一个函数,该函数打开一个子窗口,然后将下拉菜单的值重置为默认值。我需要检查用户选择了哪个选项,但由于该函数将所选值恢复为默认值,因此我总是使用任何事件处理程序获取默认值。我的选择标签看起来像
<select name="mydropdown" id="mydropdownId" onchange="gotoMyFunction()">
<option value="val1" selected="">text1</option>
<option value="val2">text2</option>
<option value="val3">text3</option>
<option value="val4">text4</option>
</select>
和gotoMyFunction()的定义
function gotoMyFunction(){
var selectedIndex = $('mydropdownId').selectedIndex;
var selectValue = $('mydropdownId').options[selectedIndex].value;
switch (selectValue)
{
case "val1":
val1Operation();
$('mydropdownId').selectedIndex = 0;
break;
case "val2":
val2Operation();
$('mydropdownId').selectedIndex = 0;
break;
case "val3":
val3Operation();
$('mydropdownId').selectedIndex = 0;
break;
case "val4":
val4Operation();
$('mydropdownId').selectedIndex = 0;
break;
default:
$('mydropdownId').selectedIndex = 0;
// do nothing
}
return true;
}
现在的问题是,每当我进行选择时,我的下拉菜单总是将 text1 显示为选定的文本,因为 $('mydropdownId').selectedIndex = 0; 行我正在尝试为发生在网站,我只能通过chrome插件或chrome控制台注入js。
更新 jsfiddle 我的场景的链接请注意小提琴的 HTML 部分无法更新以获得解决方案
【问题讨论】:
-
你能准备一个小提琴或codepen来更好地说明问题吗?
标签: javascript jquery html drop-down-menu