[JQuery]Adding options to a select using Jquery/javascript in IE8 is Empty

摘要: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