Domanda

Ho il nuovo widget di completamento automatico in jQuery UI 1.8rc3 grande lavoro in Firefox. Non funziona affatto in IE. Qualcuno può darmi una mano?

HTML:

<input type="text" id="ctrSearch" size="30">
<input type="hidden" id="ctrId">

JavaScript:

$("#ctrSearch").autocomplete({
    source: "ctrSearch.do",
    minLength: 3,
    focus: function(event, ui){
        $('#ctrSearch').val(ui.item.ctrLastName + ", " + ui.item.ctrFirstName);
        return false;
    },
    select: function(event, ui){
        $('#ctrId').val(ui.item.ctrId);
        return false;
    }
});

Risultato (IE 8):

La scatola rossa è l'elemento <ul> creato da jQuery.

Inoltre ottengo questo errore:

Line: 116
Error: Invalid argument.

Quando ho aperto nel debugger di script IE8, si evidenzia f[b]=d sulla linea 116 di jquery.min.js. Si noti che sto usando la versione 1.4.2 di jQuery ospitato sui server di Google ( https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js ).

Ho provato a rimuovere alcune delle opzioni, ma anche quando chiamo .autocomplete() senza opzioni, o con solo l'opzione di origine, ho ancora ottenere lo stesso risultato.

Ancora una volta, si sta lavorando in Firefox, ma non in IE. Qualche suggerimento?

Grazie.

UPDATE: Come suggerito, ho usato jquery.js (invece di jquery.min.js) e ottenuto l'errore sulla risposta linea 4618. Sede di jitter inferiore. Consulta quest'altra domanda Stack Overflow che è stato pubblicato pochi giorni fa.

UPDATE 2: ho scoperto che jQuery UI autocomplete utilizza un this.element.height proprietà non valida, quando si dovrebbe utilizzare la funzione this.element.height()

È stato utile?

Soluzione

Se ho capito questo diritto la linea si fa riferimento a sembra essere la linea 4618 di jquery.1.4.2.js nella funzione style. Che può solo significare che il plugin Autocompleter tenta di impostare un valore di stile che IE8 non capisce o non permette di accedere / cambiato in questo modo.

style[ name ] = value; //style == elem.style from the passed in element

Altri suggerimenti

Ho lo stesso errore esatto sulla stessa identica linea, ma per un affare completamente diverso. Cioè, io non sto facendo nulla hanno a che fare con il completamento automatico; piuttosto, il mio si verifica perché sto cercando questo in jQuery ...

$(this).css('background', 'rgba(64,255,64,.4)');

Quali jQuery cerca di fare ...

style [ 'background' ] = 'rgba(64,255,64,.4)';

E non riesce, naturalmente, perché RGBA non è un valore CSS supportato per Internet Explorer. Quindi non sei solo su questo, ma nel mio caso ero solo facendo male. La sintassi jQuery appropriata è questo ...

$(this).css({backgroundColor: '#40ff40', opacity: .4});

Ecco la mia fonte ...

http://www.cjs.me.uk/blog/?p = 238

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