这是一个错误吗? 这个选择有效:
<select id="select_advsels" name="pixel_advsels" multiple>
<option>All</option><option>Mobvista (TS-126)</option>
</select>
jQuery('#select_advsels').val(['Mobvista (TS-126)']);
当OPTION中的两个单词被多个空格分隔时,jQuery无法选择:
<select id="select_advsels" name="pixel_advsels" multiple>
<option>All</option><option>Mobvista (TS-126)</option>
</select>
jQuery('#select_advsels').val(['Mobvista (TS-126)']);
答案 0 :(得分:4)
在渲染html时,它会用一个空格替换连续空格:
jQuery('#select_advsels option').each(function(){
console.log(this.value.replace(' ', '-'));
})
演示:Fiddle
参考this
HTML处理空白字符(空格,制表符和换行符) 与普通人物不同。一般来说,只有一个空格 字符 - 包括换行符 - 或一系列空格字符 被视为单个空格和前导/尾随空格 淘汰。这被称为“崩溃空白”。因此 以下两段被视为相同
答案 1 :(得分:1)
正如已经解释的那样,浏览器将多个连续的空白字符折叠到一个空格。如果您绝对需要保留双重空格,请在声明value
标记时使用明确的<option>
属性:
<option value="Mobvista (TS-126)">Mobvista (TS-126)</option>
显示给用户的值只有一个空格,但在使用JavaScript时提交或匹配表单时发送的值将保留多个空格。