2008-10-31 16 views

Antwort

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

UPDATE

Der Name Klasse in der JQuery UI zur automatischen Vervollständigung Widget ist jetzt 'ui-Autocomplete-Eingang', so dass Code wäre:

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

Es stimmt, denn sobald Sie die Autocomplete-JS eingeschlossen haben, hat jedes $() -Objekt jetzt eine AutoComplete() -Methode definiert (falls Sie die automatische Vervollständigung für diese Elemente aktivieren möchten). Ihr if() sagt nur, dass diese Funktion nicht null ist.

Ich habe leider kein System, wo ich das überprüfen kann (verließ den Laptop heute), aber ich glaube, dass Autocomplete fügt einen CSS-Klassennamen zu den Elementen, die es verwendet. Du könntest danach suchen.

3

Sie können

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

.isFunction ist Teil der jQuery-Bibliothek. (Zitieren: http://james.padolsey.com/jquery/....isFunction)

+1

Dies überprüft lediglich, ob 'Autocomplete' als Funktion existiert, was bedeutet, dass das Autocomplete-Plugin in den Speicher geladen wird. Aber darum geht es nicht. –

9

Sie können auch die zur automatischen Vervollständigung Verhalten finden an einem Eingangselement, das durch folgende Codezeile:

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

Wenn das die automatische Vervollständigung jQuery UI-Plugin bereits für die Seite enthalten ist und Sie nur wollen zu überprüfen, um zu sehen, ob ein Element insbesondere (Eingang) Setup mit Funktion zur automatischen Vervollständigung hat, können Sie die offizielle API-Methode verwenden können wie unten dargestellt:

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

Weitere Details können fo sein und bei

Verwandte Themen