1. 程式人生 > >IE8下Jquery獲取select選中的值的問題

IE8下Jquery獲取select選中的值的問題

    我們一般使用jquery獲取select時,一般這麼用:

<select id='a'>
    <option selected='selected' value='1'>
</select>

var selectedValue = $("#a").val();

    在非IE8下,selectedValue的值為“1”,typeof selectedValue 為“string”。

    在IE8下,selectedValue的值為[“1”],typeof selectedValue 為 “objectg”。

    如果直接將selectedValue post傳送到後臺,後臺接收時會報錯,因為在傳輸過程中,IE8下selectedValue當成了陣列,後臺無法識別。

    解決的程式碼如下:

selectedValue  = typeof selectedValue == "object" ? selectedValue[0] : selectedValue;

    這樣selectedValue為字串了。

    ​另外這樣會引發其他的問題:

var a = selectedValue.trim();  

    ​這段程式碼在IE8下無法執行,可能的原因也是由於上述所致。

    ​使用如下程式碼就確保可以執行:

$.trim(selectedValue);