版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/ForeverCjl/article/details/36183217

    我们一般使用jquery获取select时,一般这么用:

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

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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

    在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);

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄