Internet Explorer nicht die Darstellung von html zurück von JQuery ajax post

Ich habe eine Seite mit einem Eingabefeld, dessen onkeyup feuert eine JQuery ajax post, basierend auf, was eingegeben wurde (ein Suchfeld)

Den ajax-Aufruf zurück gebucht html soll, füllen Sie ein weiteres div-Element auf der Seite.

Hier ist die jquery-ajax-post:

var o = $(me.results).empty().addClass("aj3load");

$.ajax({
  type: "POST",
  dataType: "text",
  url: me.url,
  data: "cmd="+escape(me.cmd)+"&q="+q+"&"+me.args,
  cache: false,
  complete: function() {
    $(o).removeClass("aj3load");
    me.ls = q;
  },
  success: function(msg){
    $(ajax3.results)
      .html(msg)
      .find("div")
      .click(function(){
        var crs_id = $(this).find(":hidden").val();
        $(ajax3.field).val($(this).text());
        $(ajax3.vf).val(crs_id);
        $(ajax3.results).empty().slideUp("fast");
        ajax3.ls = $(this).text();
        getEventInfo();
      });
  }
});

Hier ist die Antwort des ajax-Aufrufs bei der Suche nach "eve" (pro Fiddler):

HTTP/1.1 200 OK
Cache-Control: private
Date: Thu, 03 Dec 2009 16:16:05 GMT
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Vary: Accept-Encoding
Content-Length: 882

<div><input type="hidden" value="1000806" />111_Demo_Event_090924</div>
<div><input type="hidden" value="1000811" />123 Test Event oct 12 2009</div>
<div><input type="hidden" value="1000805" />AAA_Demo_Event</div>
<div><input type="hidden" value="1000103" />Developing Algebraic Thinking in Grades 3-5 - 30hr</div>
<div><input type="hidden" value="1000086" />Developing Algebraic Thinking in Grades K-2 - 30hr</div>
<div><input type="hidden" value="1000144" />Facilitating Oral Language Development (Grades PreK-3) - 30hr</div>
<div><input type="hidden" value="1000613" />Free PBS TeacherLine Event</div>
<div><input type="hidden" value="1000088" />Math in Everyday Life for Grades 6-8 - 15hr</div>
<div><input type="hidden" value="1000087" />Math in Everyday Life for Grades K-5 - 15hr</div>
<div><input type="hidden" value="1000163" />Using Multimedia to Develop Understanding - 30hr</div>

Nun in firefox und chrome alle diese divs zeigen, schön und gut, aber im IE wird nur das erste div wird angezeigt, in dem div-container auf die Seite.

Irgendeine Idee, was schief läuft mit dem IE hier?

UPDATE:
Wenn ich in einem alert("Hallo Welt"); nachdem ich zuweisen $(ajax3.Ergebnisse).html(msg)... rufen Sie IE machen die ajax-Beiträge Antwort richtig. Dies ist keine Lösung, nur evtl. etwas Hilfe bei der Fehlersuche. Ich will nicht, um eine alert-box Mitte der Verarbeitung. Auch ich habe festgestellt, dass dieses problem nicht beeinträchtigt IE 8, nur frühere Versionen.

Dank

  • Es wäre nützlich, wenn Sie zeigte den code in die callback aus deinem Ajax-request.
  • Kopiert habe ich deine divs in eine string-variable msg, dann lief $("#mydiv").html(msg); mit kein problem, die führt mich zu glauben, das problem ist mit einigen weiteren Teil der Seite. Sind Sie sicher, dass der AJAX-Aufruf gibt alle diese Ereignisse im IE? Sie könnten auch in Erwägung ziehen, mehr Informationen über die Seite, die in Ihrer Frage (andere Skripte, etc.).
  • Dank Jeff. Mit Fiddler konnte ich sehen, die ganze post zurück, mit dem Wert aus der ajax-Aufruf (die ich aufgelistet habe in meiner Frage). Ich bin nur wirklich ratlos, warum der IE zeigt nur das erste element zurückgegeben. Da funktioniert es in Firefox und Chrome ich nehme an, dass meine javascript-korrekt ist (weder ie noch firebug zeigt keine js Fehler).
  • Verwirrend in der Tat - alles, was ich empfehlen kann, ist zu pare wieder Ihr Skript, um die minimum-möglich und sehen Sie, ob Sie die Ursache einzugrenzen. Ich würde anfangen, durch das auskommentieren der complete Rückruf und der Teil des Codes fügt hinzu, dass die aj3load Klasse, wenn das blendet die div-und sehen, ob das hilft. Gestrahlt IE - bitte diese zu aktualisieren, wenn Sie es herausfinden!
  • Um dies zu beheben ich habe gerade die Ausgabe-Optionen in einer select-Liste.
InformationsquelleAutor Ryan | 2009-12-03
Schreibe einen Kommentar