我目前有多年的标准选择输入。目前,当点击时,它会显示1900-2000之间的一长串年份,需要您向下滚动。
有没有办法让它出现在中间,点击时,你可以向上或向下滚动?
我希望这有点道理!
答案 0 :(得分:2)
使用selected
属性
<select name="years">
<option>1900</option>
<option>1901</option>
<option>1902</option>
<option>1903</option>
<option>1904</option>
<option selected="selected">1905</option>
<option>1906</option>
<option>1907</option>
<option>1908</option>
<option>1909</option>
<option>1910</option>
</select>
答案 1 :(得分:1)
对于下拉<select>
元素?不是采用标准化的跨浏览器方式。某些浏览器可能(未经测试)允许您在列表可见时操纵select元素的scrollTop
属性,但我不会指望它。从中间开始的唯一方法是默认选择中间年份。
就个人而言,我不会打扰。大多数用户都知道他们可以在聚焦<select>
元素的同时进行打字 - 我很少使用鼠标在下拉列表<select>
中选择一个选项。
答案 2 :(得分:0)
默认情况下,在中间(可能是1950)附近创建一个值。当有人点击选择时,将显示所选值,因此您可以向上或向下滚动。
答案 3 :(得分:0)
你总是可以疯狂地使用jquery做这样的事情:
//get number of options
var optCount = $('#example option').length;
//divide by 2 and round up for odd numbers
var midPoint = Math.round(optCount/2);
//select that index item
$("#example option:eq(midPoint)").attr("selected", "selected");
我没有测试,但它应该工作。