2017-03-11 28 views
-2

Wie wählt man, oder Fokus, eine <select> Box mit Javascript? .select() funktioniert gut für die Auswahl von Eingaben mit jQuery, aber es tut nichts für Auswahlfelder. Der Versuch, die aktuell ausgewählte Option auszuwählen, funktioniert auch nicht.Wie wähle ich eine Auswahlbox mit Javascript?

Update: Menschen missverstehen die Frage zwei Möglichkeiten.

  1. Zuerst ist dies kein Duplikat, wie man eine Texteingabe auswählt. Wie bereits erwähnt, funktioniert die übliche Methode zum Auswählen eines Textfelds nicht.

  2. Ich versuche nicht, den ausgewählten Index eines Auswahlfelds abzurufen oder festzulegen. Ich möchte nur die Auswahlbox im Allgemeinen ausgewählt, wie wenn Sie durch ein Formular Tabbing sind.

Update 2:

OK, habe ich herausgefunden, was das Problem war, welche die Frage strittig macht. Aufgrund einer seltsamen Testversion von der Chrome-Konsole hat .focus() nichts getan, was mich glauben ließ, dass es nutzlos war. Ich glaube, das ist der Grund, warum ich am Ende .select() verwendet habe, was beim Testen von der Chrome-Konsole sichtbar funktioniert hat, aber nicht für ausgewählte Boxen funktioniert. Als ich .focus() aus einer Javascript-Datei versuchte, dann funktionierte es. Ich denke, wenn die Chrome-Konsole im Fokus ist, können Sie die Inhalte nicht programmatisch auf die tatsächliche Seite fokussieren. Lektion gelernt.

+0

'selectElement.selectedIndex = 2'? Meinst du Checkboxen? – PHPglue

+0

Beispiele - HTML und Skript, das Sie versucht haben, wäre hilfreich. – rasmeister

+0

versuchen, selectedIndex: https://html.spec.whatwg.org/multipage/forms.html#dom-select-selectedindex – traktor53

Antwort

0

Ich denke, Sie suchen nach der focus() Methode.

  • focus() Die Methode wird verwendet, Fokus auf ein Element zu geben (wenn es fokussiert werden kann).

Beispiel:

<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

Wie ist das eine Antwort auf meine Frage? – Moss

+0

"Der Versuch, die aktuell ausgewählte Option auszuwählen, funktioniert auch nicht."? Möchten Sie den ausgewählten Index dieser bestimmten Option nicht abrufen? –

+0

Nein, ich möchte das Auswahlfeld auswählen. – Moss

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

Von W3C:

Die Eigenschaft selectedIndex-Sets (oder Returns) dem Index der ausgewählten Option in einem Dropdown-Liste.

Der Index beginnt bei 0.

Hinweis: Wenn die Dropdown-Liste einer Mehrfachauswahl erlaubt es nur den Index der ersten Option zurückzukehren ausgewählt.

Hinweis: Der Wert "-1" deaktiviert alle Optionen (falls vorhanden).

Hinweis: Wenn keine Option ausgewählt ist, gibt die selectedIndex-Eigenschaft -1 zurück.

Um es festzulegen, weisen Sie die Eigenschaft selectedIndex dem numerischen Index zu, den Sie auswählen möchten.

oder Sie können

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

verwenden und den Wert Eigenschaft auf den Namen der gewünschten Option gesetzt.

Sie können auch hier die Select-DOM-Objekt Seite auf W3C prüfen wollen:

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

+0

Bitte lesen Sie die Frage erneut. Ich habe es aktualisiert. – Moss

0

Hey @Moss, wenn Sie auf einem ausgewählten Element auswählen möchten oder konzentrieren Sie .focus() verwenden können. Ich habe eine demo gemacht, damit Sie es klarer sehen können.

+0

Bitte lesen Sie die Frage erneut. Ich habe es aktualisiert. – Moss

+0

Hey, sagst du, dass du willst, dass die