html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

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

[ ] 已经帮助:人解决问题

我们一般使用jquery获取select时,一般这么用:ZYaHTML5中文学习网 - HTML5先行者学习网

<select id='a'> <option selected='selected' value='1'> </select> var selectedValue = $("#a").val();

在非IE8下,selectedValue的值为“1”,typeof selectedValue 为“string”。ZYaHTML5中文学习网 - HTML5先行者学习网

在IE8下,selectedValue的值为[“1”],typeof selectedValue 为 “objectg”。ZYaHTML5中文学习网 - HTML5先行者学习网

如果直接将selectedValue post发送到后台,后台接收时会报错,因为在传输过程中,IE8下selectedValue当成了数组,后台无法识别。ZYaHTML5中文学习网 - HTML5先行者学习网

解决的代码如下:ZYaHTML5中文学习网 - HTML5先行者学习网

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

 这样selectedValue为字符串了。ZYaHTML5中文学习网 - HTML5先行者学习网

​另外这样会引发其他的问题:ZYaHTML5中文学习网 - HTML5先行者学习网

var a = selectedValue.trim();

这段代码在IE8下无法执行,可能的原因也是由于上述所致。ZYaHTML5中文学习网 - HTML5先行者学习网

​使用如下代码就确保可以运行:ZYaHTML5中文学习网 - HTML5先行者学习网

$.trim(selectedValue);
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助