1
我正在觸發ajax調用數據庫時,用戶點擊在div中的組合框。我正嘗試使用divs單擊事件來動態填充我的組合框。點擊從數據庫中獲取數據時,我遇到了IE8上的一個問題(如果工作正常),但組合框丟失集中,我必須再次單擊組合框以做出選擇。我試圖找出爲什麼會發生這種情況。謝謝您的幫助。這是位於桌子td片段中的div。jquery動態combobox選項需要multipe點擊以顯示在IE8
<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;
}
});
Firefox正在工作。這是一個IE瀏覽器唯一的問題? – Yofi
最有可能的是。你有沒有看過這個? http://stackoverflow.com/questions/113218/add-options-to-select-box-without-internet-explorer-closing-the-box –
我已經使用您提供的第一個鏈接作爲起點並且已經管理解決我的問題。仍然當單擊組合框時,它會變成一個列表框(因爲我正在修改大小)並返回模糊組合框,這對用戶來說可能看起來很奇怪。我將不得不解決,直到我被召喚。謝謝! – Yofi