Domanda

Come posso rilevare se una casella di input è attualmente un completamento automatico dell'interfaccia utente jQuery? Non sembra esserci un metodo nativo per questo, ma spero che ci sia qualcosa di semplice come questo:

if ($("#q").autocomplete)
{
  //Do something
}

Quel condizionale, tuttavia, sembra sempre tornare vero.

È stato utile?

Soluzione

if ($("#q").hasClass("ac_input")) {
    // do something
}

Aggiorna

Il nome della classe nel widget di completamento automatico dell'interfaccia utente di JQuery ora è 'ui-autocomplete-input', quindi il codice sarebbe:

if ($("#q").hasClass("ui-autocomplete-input")) {
    // do something
}

Altri suggerimenti

Puoi anche trovare il comportamento di completamento automatico allegato a un elemento di input seguendo la seguente riga di codice:

if ($('Selector').data('autocomplete')) {
}

Puoi usare

if( $.isFunction( $.fn.autocomplete ) ){ }

.isFunction fa parte della lib jQuery. (citare: http://james.padolsey.com/jquery/. ... isfunction )

Se il plug-in dell'interfaccia utente jquery di completamento automatico è già incluso per la pagina e si desidera solo verificare se un particolare elemento (input) è stato impostato con la funzione di completamento automatico, è possibile utilizzare il metodo API ufficiale come mostrato di seguito:

if ($("#q").autocomplete("instance")) {
    console.log("autocomplete already setup for #q");
} else {
    console.log("NO autocomplete for #q");
}

Ulteriori dettagli sono disponibili all'indirizzo http://api.jqueryui.com/autocomplete/ # metodo istanza

È vero perché dopo aver incluso js di completamento automatico, ogni oggetto $ () ora ha un metodo di completamento automatico () (nel caso in cui si desideri attivare il completamento automatico per quegli elementi). Il tuo if () sta solo dicendo che quella funzione non è nulla.

Sfortunatamente non ho un sistema in cui posso verificarlo (oggi ho lasciato il laptop a casa), ma credo che il completamento automatico aggiunga un nome di classe css agli elementi che sta usando. Potresti cercarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top