首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript。如何将选定内容移动到列表顶部

javascript。如何将选定内容移动到列表顶部
EN

Stack Overflow用户
提问于 2017-04-05 18:10:48
回答 1查看 45关注 0票数 0

我的英语成绩是sry。但我希望你能理解我的问题所在。我有一个下拉菜单,里面有从A到Z的所有字母。在一个列表中,我有很多名字。当我在下拉菜单中选择一个字母时,它应该在列表中选择相同的字母。到目前为止,这是可行的,但是我如何将选定的字母移到列表的顶部?

代码语言:javascript
复制
<div align="center"><html>
 <head>
 <script language="JavaScript">
 function Eingabe(Wert)
 {
     for(i = 0; i < document.getElementById('Names').options.length; i++)
     {
         if(Wert.substr(0, Wert.length).toLowerCase() == document.getElementById('Names').options[i].value.substr(0, Wert.length).toLowerCase() && Wert.length != 0)
         {
             document.getElementById('Names').options[i].selected = true;
             break;
         }
     }
 }
 </script>
 </head>
 <body>
		<label>Select letter:
			<select name="Letters"onClick="Eingabe(this.value);" type="text"><br>
				<option>---Select letter---</option>
				<option>A</option>
				<option>B</option>
				<option>C</option>
				<option>D</option>
				...
			</select>
		</label>
		<br>
		<br>
 <select id="Names" size="18">
 <option value="A:">A:</option>
  <option value="Adena">&nbsp;-Adena</option>
 <option value="Adeodata">&nbsp;-Adeodata</option>
 <option value="Adeodato">&nbsp;-Adeodato</option>
 <option value="Adeodatus">&nbsp;-Adeodatus</option>
 <option value="Aderito">&nbsp;-Aderito</option>
 <option value="Adhelm">&nbsp;-Adhelm</option>
 <option value="Adil">&nbsp;-Adil</option>
 <option value="Adina">&nbsp;-Adina</option>
 <option value="Adine">&nbsp;-Adine</option>
 <option value="Adis">&nbsp;-Adis</option>
 <option value="Adlai">&nbsp;-Adlai</option>
 <option value="Admir">&nbsp;-Admir</option>
 <option value="Adnan">&nbsp;-Adnan</option>
 <option value="Adolar">&nbsp;-Adolar</option>
 <option value="Adolf">&nbsp;-Adolf</option>
 <option value="Adolfa">&nbsp;-Adolfa</option>
 <option value="Adolfine">&nbsp;-Adolfine</option>
 <option value="Adolfo">&nbsp;-Adolfo</option>
 <option value="Adolph">&nbsp;-Adolph</option>
 <option value="Adolpha">&nbsp;-Adolpha</option>
 <option value="Adolphe">&nbsp;-Adolphe</option>
 <option value="Adolphus">&nbsp;-Adolphus</option>
 <option value="Adone">&nbsp;-Adone</option>
 <option value="Adonia">&nbsp;-Adonia</option>
 <option value="Adonis">&nbsp;-Adonis</option>
 <option value="Adora">&nbsp;-Adora</option>
 <option value="Adoración">&nbsp;-Adoración</option>
 <option value="Adria">&nbsp;-Adria</option>
 <option value="Adriaan">&nbsp;-Adriaan</option>
 <option value="Adriaen">&nbsp;-Adriaen</option>
 <option value="Adrián">&nbsp;-Adrián</option>
 <option value="Adriana">&nbsp;-Adriana</option>
 <option value="Adriane">&nbsp;-Adriane</option>
 <option value="Adrianna">&nbsp;-Adrianna</option>
 <option value="Adrianne">&nbsp;-Adrianne</option>
 <option value="Adriano">&nbsp;-Adriano</option>
 <option value="B:">B:</option>
 <option value="Bartel">&nbsp;-Bartel</option>
 <option value="Barthold">&nbsp;-Barthold</option>
 <option value="Bartholomäa">&nbsp;-Bartholomäa</option>
 <option value="Bartholomaios">&nbsp;-Bartholomaios</option>
 <option value="Bartholomäus">&nbsp;-Bartholomäus</option>
 <option value="Bartholomew">&nbsp;-Bartholomew</option>
 <option value="Bartolmai">&nbsp;-Bartolmai</option>
 <option value="Bartolo">&nbsp;-Bartolo</option>
 <option value="Bartolomé">&nbsp;-Bartolomé</option>
 <option value="Bartolomea">&nbsp;-Bartolomea</option>
 <option value="Bartolomeo">&nbsp;-Bartolomeo</option>
 <option value="Bartosz">&nbsp;-Bartosz</option>
 <option value="Bas">&nbsp;-Bas</option>
 <option value="Bashkim">&nbsp;-Bashkim</option>
 <option value="Basia">&nbsp;-Basia</option>
 <option value="Basil">&nbsp;-Basil</option>
 <option value="Basile">&nbsp;-Basile</option>
 <option value="Basileios">&nbsp;-Basileios</option>
 <option value="Basilia">&nbsp;-Basilia</option>
 <option value="Basilisa">&nbsp;-Basilisa</option>
 <option value="Basilius">&nbsp;-Basilius</option>
 <option value="Basti">&nbsp;-Basti</option>
 <option value="Bastiaan">&nbsp;-Bastiaan</option>
 <option value="Bastian">&nbsp;-Bastian</option>
 <option value="Bastiano">&nbsp;-Bastiano</option>
 <option value="Bastien">&nbsp;-Bastien</option>
 <option value="Bathia">&nbsp;-Bathia</option>

 
 </select>
 </body>
 </html>
 </div>

EN

回答 1

Stack Overflow用户

发布于 2017-04-05 18:20:25

使用Element#scrollIntoView。将下面一行添加到函数Eingabe中的break语句之前。

代码语言:javascript
复制
 document.getElementById('Names').options[i].scrollIntoView();

编辑:还将onClick更改为onchange。请参阅下面添加的工作代码段。

代码语言:javascript
复制
function Eingabe(Wert)
 {
     for(i = 0; i < document.getElementById('Names').options.length; i++)
     {
         if(Wert.substr(0, Wert.length).toLowerCase() == document.getElementById('Names').options[i].value.substr(0, Wert.length).toLowerCase() && Wert.length != 0)
         {
             document.getElementById('Names').options[i].selected = true;
        document.getElementById('Names').options[i].scrollIntoView();
             break;
         }
     }
 }
代码语言:javascript
复制
<label>Select letter:
			<select name="Letters" onchange="Eingabe(this.value);" type="text"><br>
				<option>---Select letter---</option>
				<option>A</option>
				<option>B</option>
				<option>C</option>
				<option>D</option>
			</select>
		</label>
		<br>
		<br>
 <select id="Names" size="18">
 <option value="A:">A:</option>
  <option value="Adena">&nbsp;-Adena</option>
 <option value="Adeodata">&nbsp;-Adeodata</option>
 <option value="Adeodato">&nbsp;-Adeodato</option>
 <option value="Adeodatus">&nbsp;-Adeodatus</option>
 <option value="Aderito">&nbsp;-Aderito</option>
 <option value="Adhelm">&nbsp;-Adhelm</option>
 <option value="Adil">&nbsp;-Adil</option>
 <option value="Adina">&nbsp;-Adina</option>
 <option value="Adine">&nbsp;-Adine</option>
 <option value="Adis">&nbsp;-Adis</option>
 <option value="Adlai">&nbsp;-Adlai</option>
 <option value="Admir">&nbsp;-Admir</option>
 <option value="Adnan">&nbsp;-Adnan</option>
 <option value="Adolar">&nbsp;-Adolar</option>
 <option value="Adolf">&nbsp;-Adolf</option>
 <option value="Adolfa">&nbsp;-Adolfa</option>
 <option value="Adolfine">&nbsp;-Adolfine</option>
 <option value="Adolfo">&nbsp;-Adolfo</option>
 <option value="Adolph">&nbsp;-Adolph</option>
 <option value="Adolpha">&nbsp;-Adolpha</option>
 <option value="Adolphe">&nbsp;-Adolphe</option>
 <option value="Adolphus">&nbsp;-Adolphus</option>
 <option value="Adone">&nbsp;-Adone</option>
 <option value="Adonia">&nbsp;-Adonia</option>
 <option value="Adonis">&nbsp;-Adonis</option>
 <option value="Adora">&nbsp;-Adora</option>
 <option value="Adoración">&nbsp;-Adoración</option>
 <option value="Adria">&nbsp;-Adria</option>
 <option value="Adriaan">&nbsp;-Adriaan</option>
 <option value="Adriaen">&nbsp;-Adriaen</option>
 <option value="Adrián">&nbsp;-Adrián</option>
 <option value="Adriana">&nbsp;-Adriana</option>
 <option value="Adriane">&nbsp;-Adriane</option>
 <option value="Adrianna">&nbsp;-Adrianna</option>
 <option value="Adrianne">&nbsp;-Adrianne</option>
 <option value="Adriano">&nbsp;-Adriano</option>
 <option value="B:">B:</option>
 <option value="Bartel">&nbsp;-Bartel</option>
 <option value="Barthold">&nbsp;-Barthold</option>
 <option value="Bartholomäa">&nbsp;-Bartholomäa</option>
 <option value="Bartholomaios">&nbsp;-Bartholomaios</option>
 <option value="Bartholomäus">&nbsp;-Bartholomäus</option>
 <option value="Bartholomew">&nbsp;-Bartholomew</option>
 <option value="Bartolmai">&nbsp;-Bartolmai</option>
 <option value="Bartolo">&nbsp;-Bartolo</option>
 <option value="Bartolomé">&nbsp;-Bartolomé</option>
 <option value="Bartolomea">&nbsp;-Bartolomea</option>
 <option value="Bartolomeo">&nbsp;-Bartolomeo</option>
 <option value="Bartosz">&nbsp;-Bartosz</option>
 <option value="Bas">&nbsp;-Bas</option>
 <option value="Bashkim">&nbsp;-Bashkim</option>
 <option value="Basia">&nbsp;-Basia</option>
 <option value="Basil">&nbsp;-Basil</option>
 <option value="Basile">&nbsp;-Basile</option>
 <option value="Basileios">&nbsp;-Basileios</option>
 <option value="Basilia">&nbsp;-Basilia</option>
 <option value="Basilisa">&nbsp;-Basilisa</option>
 <option value="Basilius">&nbsp;-Basilius</option>
 <option value="Basti">&nbsp;-Basti</option>
 <option value="Bastiaan">&nbsp;-Bastiaan</option>
 <option value="Bastian">&nbsp;-Bastian</option>
 <option value="Bastiano">&nbsp;-Bastiano</option>
 <option value="Bastien">&nbsp;-Bastien</option>
 <option value="Bathia">&nbsp;-Bathia</option>

 
 </select>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43228132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档