【发布时间】:2021-12-29 10:12:32
【问题描述】:
我有一个很大的下拉列表,其中包含如下可能的答案:
<select name="mySelect" id="mySelect" required="" >
<option value="-100" > -100% </option>
<option value="-99" > -99% </option>
<option value="-98" > -98% </option>
<option value="0" > 0% </option>
<option value="101" selected = "" hidden = ""> ----- </option>
从 -100 到 100。 当第一次单击下拉菜单时,我希望它以预先指定的值打开(并选择),即 0。
我试过这个:
$('#mySelect').one('focus', function() {
$(this).children('option[value=0]').prop('selected',true);
});
这在 Chrome 中运行良好,但在 Firefox 中不起作用,这对我来说是个问题。 (编辑)如 cmets 中所述,在 Firefox 中,上面的脚本选择了正确的选项,但下拉菜单不会滚动到该值。
非常感谢您在 Firefox 和 Chrome 中提供有效的解决方案。
【问题讨论】:
-
为什么将
-----选项作为默认选择值而不是0? -
当框没有被点击时,它不应该显示任何值。
-
只需将
0设为默认值即可。现代浏览器会自动滚动到列表中的这个选项来显示它,你不需要编写任何代码来做到这一点。即使您尝试过,它也不起作用,因为您无法以编程方式与选项列表本身进行交互。 -
另外,为什么要为此使用
select?range输入似乎更有意义:jsfiddle.net/ux1p0d2v -
好的,那么你应该edit 这个问题,因为你只说“它不起作用”但没有具体说明。部分操作确实有效
标签: javascript html jquery focus