2

我正在寻找一种方式,当用户在多选中选择一个选项并提交它(AJAX)时,多选应该滚动到顶部显示第一个选项(包括 optgroup 标签)。

这是我拥有的当前代码

$('selectId').selectedIndex = 0;
$('selectId').selectedIndex = -1;

这确实滚动到选择框中的第一项,但 optgroup 标签不可见,因为滚动就在 optgroup 标签下方和第一个选项上。

有关如何使 optgroup 标签可见的任何帮助都会有所帮助。

这是小提琴:http: //jsfiddle.net/sfHtF/1/

一直向下滚动,单击“GoTop”,它转到“one”,但不显示 optgroup 标签。

4

3 回答 3

3

因为我找到了解决方案,所以我在这里回答我自己的问题

$('selectId').selectedIndex = -1; //de-selects all options
$('selectId').scrollTo(0,0); //sets the scroll to right at the top

在这里工作小提琴:http: //jsfiddle.net/sfHtF/4/

感谢大家调查它。

于 2013-07-01T19:27:18.760 回答
0

您所要做的就是在函数中切换行的顺序。

所以:

$('selectId').selectedIndex = -1;
$('selectId').selectedIndex = 0;
于 2013-07-01T17:26:49.077 回答
0

我知道 op 想要 jquery,但这里是纯 Javascript:

document.getElementById("selectId").scrollTo(0,0);
于 2019-01-02T19:53:53.673 回答