欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IE8下Jquery获取select选中的值post到后台报错问题

程序员文章站 2022-07-08 12:38:34
...
IE8下出现的问题是直接将selectedValue post发送到后台,后台接收时会报错,这是因为IE8下selectedValue当成了数组,后台无法识别


我们一般使用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);
相关标签: ie8 jquery