为什么ie11 javascript在value方法中去掉空格
Why does IE 11 javascript strips spaces in value method?
当在选择标签中有选项值"ø-&"并在警告中显示所选值时,IE 11(11.0.9600.17126)似乎会剥离空格并将其显示为"ø-&"您知道为什么吗?
HTML:<select id="companies">
<option>ø- &</option>
<option>ø- &</option>
<option>ø- &</option>
</select>
<button onclick="javascript:alert(document.getElementById('companies').value);">TEST</button>
JSFiddle: http://jsfiddle.net/aK35t/14/
这只是因为您正在读取选项的值—但是在值中空格实际上是无效的。相反,您希望读取文本:
document.getElementById('companies')
.options[document.getElementById('companies').selectedIndex].text
然而,你不应该依赖于自动的"文本到值"。如果您手动设置该选项的值,它将在您的原始代码中正常工作:
<select id="companies">
<option value="ø- &">ø- &</option>
</select>
<button onclick="alert(document.getElementById('companies').value);">GET</button>
你很可能在选项值中有一些ID,所以如果你想在javascript中获得文本,使用上面的代码片段(或使用jQuery的text()
)。
问题似乎在于您的多字节字符(ø, æ)。也许你可以强制网页使用utf8编码?
Jquery可以解决这个问题。
function getCompaniesValue() {
alert($("#companies").val());
}
给出正确的结果
我没有IE 11来测试,但对我来说这似乎是一个编码问题。您应该尝试使用正确的HTML实体:
<select id="companies">
<option>ø- &</option>
<option>ø- &</option>
</select>
<button onclick="javascript:alert(document.getElementById('companies').value);">TEST</button>
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 我如何找到一个句子中的所有空格并替换忽略它们
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- jQuery字符串使用split()方法在空格后拆分字符串
- 在某些情况下,“text”方法会删除单词之间的空格
- 在 Javascript 中将对象连接为空格分隔字符串的最简单方法是什么?
- 使用 JQuery 检查空格键的最快方法是什么
- 将空格分隔的类列表转换为 Jquery 选择器的有效方法
- 是否存在替换方法无法从字符串中删除空格的情况
- 如何在javascript中乘以空格以在ActiveX FSO Write()方法中使用
- 有没有跨平台的方法可以将一个字符串编码为另一个没有空格的字符串,然后将其解码回来
- js中有没有一种在case中使用空格的方法
- 如何在不添加方法或类的情况下修剪所有输入中的空格
- 在JavaScript中检查字符串是否为空白(即只包含空格)的最高效方法
- 有一种方法,我可以改变骆驼的情况下,以空格分隔的单词变量的内容
- 为什么ie11 javascript在value方法中去掉空格