重音不敏感<select> </select>

时间:2012-12-11 08:10:50

标签: html combobox html-select

好的,我有一个应用程序,其中数据库是SQL Server,它被定义为不区分大小写和不区分重音。

这样,用户对数据库的文本搜索非常清晰,快速。这对于沿应用程序放置在搜索表单上的几个自动填充字段特别有用。

但是我刚刚意识到,当您在选择字段上键入要选择的文本的开头时,组合上的默认过滤行为是重音敏感的。

现在我想知道是否有任何方法可以改变这种默认行为,或者我是否应该修改某些形式的数据输入以避免冗长的组合,因为现在我认为所有app都忽略了除组合框之外的重音敏感度。

1 个答案:

答案 0 :(得分:0)

我想你的意思是,如果我们有例如HTML中的以下内容,然后在控件中聚焦时按下“A”或“E”会使我们无处可去:

<select>
<option>Bar
<option>È
<option>École
<option>Foo
<option>Åland
</select>

我担心这就是浏览器的行为方式。没有此行为的规范,但是当按下字母键时,浏览器似乎会移动到以字母开头的项目。他们在这里对字母采取非常直观的观点;例如,È,É和E是三个不同的字母。似乎这种行为严格依赖于字母键;例如,在我的键盘上,就像在许多欧洲键盘上一样,首先按下“'”键,然后“E”键产生“é”,但这并没有把我带到“École”(这不取决于案例)信件)。如果我切换到法语键盘设置,我可以到那里,我可以用一个键输入“é”。

有一个愚蠢的解决方法。用非重音字母替换重音字母,然后组合变音符号:

<select>
<option>Bar
<option>E&#x300;
<option>E&#x301;cole
<option>Foo
<option>A&#x30a;land
</select>

问题:所有字体都不支持组合变音符号。因此,他们可能(在某些旧浏览器上)根本不显示,或者他们可能(甚至在新浏览器中)以不同于基本文本的字体显示,从而导致某种类型的排版混乱。但是,也许最严重的问题是,现在你不能使用键盘上的É和Å等键。所以,只有当你期望人们使用像美国键盘之类的东西时才会有意义,没有带变音符号的字母。