摘要:Adding options to a select using Jquery/javascript in IE8 is Empty
昨天利用ASP .NET MVC3 & JQuery 在寫連動選單時,很單純的下面JQuery方式來呈現第二層選單
$("#select_1").change(function(){
var select_1_valueId = $(this).val();
$("#select_2").empty()
$.ajax({
url:'@Url.Action("Home/GetList")',
data: { select_1_value : select_1_valueId },
success:function(data){
for (var i = 0; i < data.length; i++)
{
var option = new Option(data[i].Text, data[i].Value);
$("#select_2").append(option)
}
}
});
});
#select_1 & #select_2 分別為第一、第二層選單的id,這樣的語法在IE9、IE10、Chrome & Firefox 都可以正常運作。
但是,在IE8時,第二層選單會無法正確呈現資訊。
關鍵在於
$("#select_2").append(option)
這句語法IE8無法認得,因此必須修正為下列的語法
$('#select_2').append($("<option></option>").attr("value", data[i].Value).text(data[i].Text));
連動選單才可以在IE8順利運作
至於詳細原因,有待查證...QQ