2017-03-11 62 views
-2

如何選擇或關注使用javascript的<select>框? .select()適用於使用jQuery選擇輸入,但它對於選擇框沒有任何作用。嘗試選擇當前選擇的選項也不起作用。如何選擇JavaScript的選擇框?

更新: 人們從兩個方面誤解了這個問題。

  1. 首先這不是如何選擇文本輸入的重複。正如我已經說過的,選擇文本框的常用方法不起作用。

  2. 我不想檢索或設置選擇框的選定索引。我只是希望選擇框一般爲,選中,就像當你通過表單切換時一樣。

更新2:

OK,我想通了什麼問題了,這使得這個問題毫無意義。由於Chrome控制檯的測試異常,.focus()沒有做任何事情,這讓我相信這是沒用的。我想這就是爲什麼我最終使用了.select(),當我從Chrome控制檯進行測試時,它顯然有效,但對於選擇框無效。當我嘗試從一個JavaScript文件.focus()然後它的工作。我猜想,當Chrome控制檯處於焦點時,您無法以實際的頁面編程方式將內容聚焦於此。學過的知識。

+0

'selectElement.selectedIndex = 2'?你的意思是複選框? – PHPglue

+0

示例 - html和您嘗試過的腳本將會有所幫助。 – rasmeister

+0

嘗試設置selectedIndex:https://html.spec.whatwg.org/multipage/forms.html#dom-select-selectedindex – traktor53

回答

0

我認爲您正在尋找focus()方法。

  • focus()方法用於給聚焦到一個元素(如果它可以 被聚焦)。

實施例:

<html> 
 
    <body> 
 
    <select id="mySelect"> 
 
     <option>Option 1</option> 
 
     <option>Option 2</option> 
 
     <option>Option 3</option> 
 
     <option>Option 4</option> 
 
    </select> 
 
    <script> 
 
     function Function() { 
 
      document.getElementById("mySelect").selectedIndex.focus();  
 
     } 
 
    </script> 
 

 
    </body> 
 
</html>

+0

這是如何回答我的問題? – Moss

+0

「嘗試選擇當前選定的選項也不起作用。」?你不想檢索該特定選項的選定索引嗎? –

+0

不,我想選擇選擇框。 – Moss

0
document.getElementById("mySelect").selectedIndex = "2"; 

從W3C:

selectedIndex屬性集(或返回)在所選擇的選項的索引下拉列表。

指數從0開始

注意:如果下拉列表允許多項選擇它只會返回選擇第一個選項的索引。

注意:值「-1」將取消選擇所有選項(如果有)。

注意:如果未選擇任何選項,selectedIndex屬性將返回-1。

因此,要設置它,請將屬性selectedIndex指定給您要選擇的數字索引。

或者您也可以使用

document.getElementById("mySelect").value = "foo"; 

和值屬性設置爲你想要的選項的名稱。

你也可以在這裏對W3C退房選擇DOM對象頁:

https://www.w3schools.com/jsref/dom_obj_select.asp

+0

請再次閱讀該問題。我更新了它。 – Moss

0

嘿@Moss如果你想選擇或聚焦一個選擇的元素,你可以使用.focus()。我做了一個demo,這樣你可以更清楚地看到它。

+0

請再次閱讀該問題。我更新了它。 – Moss

+0

嘿你是說你想要