2012-04-04 8 views
2

Ich habe eine jquery_ui-Autocomplete. Wenn ich auf eine Auswahl in Firefox klicke, läuft mein Code wie erwartet. Wenn ich es in IE8 ausführe, löscht etwas die Auswahl aus dem Eingabefeld (nachdem mein Code ausgeführt wurde).IE8 Löschen von JQuery-UI Autocomplete-Eingabefeld nach Auswahl

Ich kann den Code nicht identifizieren, der das Feld löscht - ich gehe durch den Code, aber es passiert an verschiedenen Stellen - ich überspringe viele Timeouts, also vielleicht eine davon.

Ich glaube, ich bin der Hoffnung, dass jemand über diese vor gekommen ist ..

UPDATE

OK, ich habe es geschafft, ein bisschen weiter die Frage auf die Spur. Es ist Code, den ich an ein Fokus-Ereignis angehängt habe, das den Text tatsächlich entfernt. Mein Problem scheint auf einen Unterschied in der Reihenfolge Ereignisse zu beziehen, sind zwischen ff gefeuert und also

Ich habe eine Demo auf jsfiddle zur Verfügung stand - http://jsfiddle.net/aidanewen/nKyLu/

Und ich habe meinen Code unten enthalten -

<script> 
    $(function() { 
     var availableTags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "C", 
      "C++", 
      "Clojure", 
      "COBOL", 
      "ColdFusion", 
      "Erlang", 
      "Fortran", 
      "Groovy", 
      "Haskell", 
      "Java", 
      "JavaScript", 
      "Lisp", 
      "Perl", 
      "PHP", 
      "Python", 
      "Ruby", 
      "Scala", 
      "Scheme" 
     ]; 
     $("#tags").autocomplete({ 
      source: availableTags, 
      select: function(event, ui) { 
       $('#output').val(ui.item.label); 
      } 
     }).focus(function(e) { 
      $(this).val(""); 
     }); 
    }); 
</script> 

<div id="content_padding"> 

     <div class="ui-widget"> 
      <label for="tags">Tags: </label> 
      <input id="tags"/> 
      <label for="output">Output: </label> 
      <input id="output"/> 
     </div> 

</div> 
+1

Sie werden den Code in Frage zu haben, zu teilen. Auch eine Demo, die das Problem auf einer Seite wie http://www.Jsfiddle.net zeigt, würde nicht schaden. –

+0

Danke Andrew. Mein Problem ist, ich kann den fraglichen Code nicht identifizieren. Ich habe es nicht geschafft, den Fehler mit einer Teilmenge des Codes zu replizieren, und ich kann nicht alles online stellen. Entschuldigung, es ist wirklich eine dumme Frage. Ich werde mehr Informationen hinzufügen, wenn ich mehr finde. –

+0

OK, ich habe weitere Informationen hinzugefügt. –

Antwort

2

die Lösung war return false zum Fokus Event hinzufügen -

$("#tags").autocomplete({ 
     source: availableTags, 
     select: function(event, ui) { 
      $('#output').val(ui.item.label); 
     } 
    }).focus(function(e) { 
     $(this).val(""); 
     return false; 
    });