Когда я делаю вызов jquery ajax для автоматического заполнения выпадающего списка на странице, выпадающий элемент управления отключается с помощью таблицы. Я понимаю, что если установить ширину таблицы на 100%, это исправит это, но в моем случае я не могу этого сделать. Этот код отлично работает в FF. Это почти похоже на то, что IE не будет «повторно отображать» страницу после завершения вызова ajax. Вот код -Internet Explorer не разворачивает таблицу после вызова ajax
<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 я мог бы обеспечить чтобы его можно было скопировать и вставить в текстовый редактор, чтобы попытаться самостоятельно, но я не делаю.
Как он появляется в Firefox:
alt text http://i39.tinypic.com/20sfuc3.jpg
Как он появляется в IE7/8:
alt text http://i40.tinypic.com/24511rl.jpg
Любые идеи о том, как заставить IE 7/8, чтобы корректно отобразить после Ajax обратного вызова завершена ?
Спасибо.
Вау! Очень впечатляюще. Никогда не думал попробовать этот подход. Да, это определенно устраняет мою проблему. Благодаря!! – Craig
Рад, что это сработало для вас. Возможно, стоит отправить отчет об ошибке в jQuery (если его еще нет), поскольку он влияет только на ie. – user113716
Я добавил билет в jquery. Не уверен, что это ошибка jquery или это просто проблема IE. Еще раз спасибо. – Craig