У меня есть страница с полем ввода, в котором onkeyup запускает запись JQuery ajax, основанную на набранном тексте (поле поиска)
Размещенный назад HTML-код вызова ajax должен заполнить еще один div на странице.
Вот сообщение jquery ajax:
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();
});
}
});
Вот ответ на вызов ajax при поиске «eve» (для 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>
Теперь в Firefox и Chrome все эти div'ы отображаются нормально и красиво, но в IE только первый div отображается в контейнерном div на странице.
Есть идеи, что здесь не так с IE?
UPDATE:
Если я поставлю предупреждение («Привет, мир»); после того, как я назначу вызов $ (ajax3.results) .html (msg) ... IE правильно отобразит ответ на сообщения ajax. Это не решение, возможно, некоторая помощь в отладке. Я не хочу иметь окно оповещения в середине обработки. Также я определил, что эта проблема, похоже, не влияет на IE 8, только на более ранние версии.
Спасибо