2014-12-19 5 views
6

Fokussierung auf eine Auswahlbox (das selectize aktiviert hat) konzentriert sich nicht auf die selectized Eingabefeld:Wie kann ich mich auf ein Auswahlfeld konzentrieren?

$('.someclass select').focus(); 

Konzentration auf eigene inout Box scheint die selectize nicht arbeiten entweder:

$('.someclass input').focus(); 

Die Selectize docs erwähnt focus, aber das scheint auch nicht zu funktionieren. Sehen Sie diese jsfiddle:

var selectized = $('#selectize').selectize(); 
selectized.focus(); 

ich die Karat erwarten | bereit und Typisierung werden sofort in die Box zu gehen.

Wie kann ich mich auf ein Auswahlfeld aus JavaScript konzentrieren, damit ein Benutzer in das Feld eingeben kann?

Antwort

17

Sie verwenden sollten:

selectized[0].selectize.focus(); 
+0

Können Sie erklären, warum das funktionieren sollte? –

+1

Dies funktionierte für mich, .click() in der angenommenen Antwort nicht. – CSL

+1

@ mike-c Dies ist die Option in der Selectize-API. Es ist jedoch ein wenig verwirrend, wie Sie auf diese Methoden zugreifen. https://github.com/selectize/selectize.js/blob/master/docs/api.md#methods_other – eriksssss

5

Eine Möglichkeit, die zu funktionieren scheint click() rufen statt focus():

$('.someclass input').click(); 
+0

Ah, du hast recht! Vielen Dank! – mikemaccana

2

$('.someclass input') gibt ein jQuery-Objekt (umschlossenen Satz - siehe What does jquery $ actually return?). Wenn Sie den umbrochenen Satz nicht möchten, möchten Sie das erste Element im Satz, das mit dem Selektor übereinstimmt.

Versuchen Sie stattdessen $('.someclass input')[0].selectize.focus();.

0

Für mich $('.someclass input').focus() hat den Job gemacht. Zuerst wählen Sie Ihr selectize Element $('.someclass'), danach wählen Sie nur die Eingabe für dieses Element $('.someclass input') und schließlich lösen Sie die Funktion für das Element aus.

Verwandte Themen