2014-12-19 8 views
6

Skupiając się na pole zaznaczania (który selectize włączona) nie koncentrują się na polu selectized wejściowych:Jak mogę się skupić na polu wyboru selectize?

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

Skupiając się na własnym polu InOut selectize nie wydaje się do pracy albo:

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

The Selectize docs wymienia focus, ale to też nie działa. Zobacz ten jsfiddle:

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

spodziewałbym karat | być gotowa do typowania i natychmiast przejść do pudełka.

Jak mogę skoncentrować się na polu wyboru select z JavaScript, aby użytkownik mógł go wpisać?

Odpowiedz

17

Należy użyć:

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

Czy możesz wyjaśnić, dlaczego to powinno działać? –

+1

To działało dla mnie, .click() w zaakceptowanej odpowiedzi nie. – CSL

+1

@ mike-c Jest to opcja dostępna w interfejsie API Selectize. Jednak jest nieco mylące, w jaki sposób uzyskać dostęp do tych metod. https://github.com/selectize/selectize.js/blob/master/docs/api.md#methods_other – eriksssss

5

Jednym ze sposobów, który wydaje się działać to nazwać click() zamiast focus():

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

Ach masz rację! Dzięki! – mikemaccana

2

$('.someclass input') zwraca obiekt jquery (zawinięte Set - patrz What does jquery $ actually return?). Nie chcesz pakowanego zestawu, chcesz, aby pierwszy element w zestawie pasował do selektora.

Zamiast tego spróbuj $('.someclass input')[0].selectize.focus();.

0

Dla mnie $('.someclass input').focus() wykonałem zadanie. Najpierw wybierasz element do selekcji $('.someclass'), a następnie wybierasz tylko wejście dla tego elementu $('.someclass input') i na końcu uruchamiasz funkcję focus() na elemencie.

Powiązane problemy