当用户单击 div 中的组合框时,我正在向数据库发出 ajax 调用。我正在尝试使用 div 点击事件来动态填充我的组合框。当单击从数据库中获取的数据但组合框失去焦点时,我在 IE8 上遇到问题(ff 工作正常),我必须再次单击组合框进行选择。我试图找出为什么会这样。谢谢您的帮助。这是表格的 td 段中的 div。
<div class="catagory"><select class="catagorycombo"><option value="3456">Select All</option></select></div>
<script type="text/javascript">
$('body').on('click', '.catagory', function(e){
var comboboxTest= $(this).parent().next("td").find('.testcombo');
var combobox = $(this).find('.catagorycombo');
var url = '<%= Url.Action("GetCatagoryListDropDown", "Document") %>';
var contextKey=combobox[0].options[0].value;
var text=combobox[0].options[0].text;
var length=combobox.prop('options').length;
if(text=="Select All" && length<=1)
{
combobox.empty();
combobox.append("<option value=\"" + contextKey + "\">Select All</option>");
combobox.append("<option value=\"loading\">Loading...</option>");
$.ajax({
type: "POST",
url: url,
data: { contextKey:contextKey },
success: function(data, textStatus, jqXHR) {
$.each(data, function(i, el) {
// combobox.append(new Option(el["Text"],el["Value"]));
combobox.("<option value=\"" + el["Value"] + "\">" + el["Text"] + "</option>");
});
combobox.find('option[value=loading]').remove();
}
});
}
else
{
return false;
}
});