jquery ajaxを呼び出すと、ページの読み込み時に自動的にドロップダウンが行われます。ドロップダウンコントロールは、含まれているテーブルによって切り捨てられます。テーブル幅を100%に設定するとこれを修正することができますが、私の場合はそれを行うことはできません。このコードはFFで正常に動作します。 Ajax呼び出しが完了した後、IEがページを「再レンダリング」しないのとほぼ同じです。ここではコードです -ajax呼び出し後にInternet Explorerがテーブルを展開しない
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
</head>
<body>
<table border="1">
<tr>
<td>
<select>
<option>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
</select>
</td>
</tr>
<tr>
<td>
<select id="mySelect">
</select>
</td>
</tr>
</table>
<script type="text/javascript">
var mySelect = $("#mySelect");
fillListCombo = function(json)
{
if (json)
{
mySelect.empty();
$(json).each(function(i, obj)
{
var option = $("<option></option>");
option.val(obj.id);
option.text(obj.text);
option.appendTo(mySelect);
});
}
else
{
mySelect.find('option').remove().end().append('<option value="0">(none available)</option>').val('0');
}
}
updateListCombo = function()
{
$.ajax(
{
type: "GET", url: "http://localhost/Ajax/ListLookupPage.aspx", dataType: "json", data:
{
listkindid: "1", userid: "17"
},
timeout: 2000, success: function(opts)
{
fillListCombo(opts);
},
error: function(xhr, status)
{
mySelect.find('option').remove().end().append('<option value="0">(none selected)</option>').val('0');
}
});
};
updateListCombo();
</script>
</body>
</html>
私は私がそれをコピーして、自分でしようとするテキストエディタに貼り付けることができたので、提供できる公共のAjaxページがあればいいのに、私にはありません。
alt text http://i39.tinypic.com/20sfuc3.jpg
それはIE7/8に表示されますどのように:
alt text http://i40.tinypic.com/24511rl.jpg
AJAXコールバックが完了した後に、正しくレンダリングするためにIE 7/8を強制する方法上の任意のアイデアを、Firefoxで表示されますどのように
?
ありがとうございました。
うわー!非常に印象的。そのアプローチを試みることは決して考えなかった。はい、間違いなく私の問題を解決します。ありがとう!! – Craig
それはあなたのために働いてうれしい。バグレポートをjQueryに提出する価値があるかもしれません(すでに存在しない場合)。 – user113716
jqueryへのチケットを追加しました。 jqueryのバグかIEの問題かどうかは不明です。再度、感謝します。 – Craig