为什么我会在IE中选择额外字符选择下拉值?

时间:2013-09-30 15:57:08

标签: jquery html internet-explorer

我有一个表单,该表单从单个地址字段中获取用户的地址,并使用Google地图加载其所在位置带有图钉的地图。表格还有2个选择下拉菜单,一个用于州,一个用于县。他们在较早的时候被选中,并且只是在这里预选。作为我们代码的一部分,我们检查所提供的地址是否具有不同于县/州组合的坐标。这是确保他们输入唯一地址的一种方式。

当jQuery从这些下拉列表中选择所选文本时,IE中的代码失败,b / c,在IE中,结果包括一个方形字符(我假设为ascii或unicode)和大量空间。在其他浏览器中它很好。例如,我将获取chrome或ff中的地址:

“凤凰城,亚利桑那州”

但在IE中,我得到了:

“???凤凰城,亚利桑那州”

如果将其传递到Google地理编码功能,则会失败。

我可以轻松地修剪空间,但是无法省略奇数字符,甚至不知道为什么它只发生在IE中。选择是动态填充的,但代码中没有任何内容具有额外空间或可见的回车符或制表符。任何建议都表示赞赏。

这是jQuery代码。注意我已经添加了trim()来处理空格,##是b / c这是一个ColdFusion页面:

var simpleAddress = $("##lookupStateID option:selected").text().trim() + ', ' +  $("##lookupCountyID option:selected").text().trim();

以下是选择选项的外观(从页面源复制):

<option value="">
Please Choose
</option>
<option value="">
-----
</option>
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option selected="" value="3">Arizona</option>
....
</select>

这是由IE8中的mu用户报告的,但我也可以在IE9和10中重现它。

我可以尝试将小提琴放在一起,但代码是1400行代码,所以我需要提取几个部分。提出一个完整的例子是不可能的(我没有写出来!)

1 个答案:

答案 0 :(得分:0)

检查编码。这看起来像页面包含一些非打印字符或代码是乱码。将其保存为UTF-8 / UNICODE以确保其正常工作。

更新:嗯,我看到问题的内容已经延长。在此之前,请给我一些时间来寻找消息来源。它仍然看起来像一些错误分配的字符集,但我需要确认它。