2015-01-24 17 views
5

Sto usando il widget combobox completo di UI jQuery. Quando aggiungo segnaposti sulle mie caselle combinate, le caselle di completamento automatico vengono aperte per impostazione predefinita.Segnaposto apre jQuery UI combobox completamento automatico al caricamento della pagina (IE10)

Questo si verifica solo su IE10 e successivi a.

Questo è il mio codice:

_create: function() { 
      this.wrapper = $("<span>") 
      .addClass("custom-combobox") 
      .insertAfter(this.element); 
      this.element.hide(); 
      this._createAutocomplete(); 
      this._createShowAllButton(); 
      this.input.attr("placeholder", this.element.attr('placeholder')); 
     }, 
+1

si prega di scrivere alcuni ulteriori dettagli sul problema. –

risposta

6

abbiamo notato che il problema è stato risolto con l'essere in realtà concentrandosi le caselle combinate.

Quando la casella combinata è a fuoco, la casella di completamento automatico è scomparsa ed è rimasta tale quando la casella combinata ha perso lo stato attivo.

Così, la nostra soluzione è stata un po 'hack-ish, abbiamo aggiunto una .focus() seguito da un .blur():

_create: function() { 
      this.wrapper = $("<span>") 
      .addClass("custom-combobox") 
      .insertAfter(this.element); 
      this.element.hide(); 
      this._createAutocomplete(); 
      this._createShowAllButton(); 
      this.input.attr("placeholder", this.element.attr('placeholder')); 

      this.input.focus().blur(); 
      //^^^^^^^^^^^^^^^^^^^^^^^^^^ Voila! 
     }, 
0

Abbiamo avuto lo stesso problema in IE10 +, ma solo quando aggiungiamo un segnaposto con speciale personaggi (tedesco "Umlaute").

La soluzione da Seckin risolto anche il nostro problema - dopo 1 giorno di duro lavoro Google ;-)

cercato di votare per la risposta- ma come un novizio non ho la reputazione di farlo. ..

_create: function() { 
     this.wrapper = $("<span>") 
     .addClass("custom-combobox") 
     .insertAfter(this.element); 
     this.element.hide(); 
     this._createAutocomplete(); 
     this._createShowAllButton(); 

     this.input.attr("placeholder", 'Bitte wählen'); 
     this.input.focus().blur(); 

    }, 
+0

Sono davvero contento che ci abbia aiutato! Grazie per il credito @oekokroete, tuttavia poiché è la stessa soluzione; Non penso che questa dovrebbe essere una risposta, puoi aggiungere questo come commento sulla risposta esistente. –

Problemi correlati