IE8下Jquery获取select选中的值post到后台报错问题 |
本文标签:ie8,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); |