我在页面上的多个组合框上使用 jquery.ui.autocomplete。仅在 IE 中,组合框会在失去焦点 (onBlur) 时重置。再多的 JS 调试也无法揭示原因。有什么建议么?
问问题
983 次
2 回答
2
好的,这就是我想出的。我使用了您的代码并复制了您的错误。
IE不同的原因然后说...... firefox,是这个例程:
change: function (event, ui) {
if (!ui.item) {
在 Firefox 中,ui.item 不为空,在 IE 中为空。所以在 IE 中,它必须获取 '<option value="foo">foo</option>' value 属性的实际值,并与文本框中的内容进行比较。
这是问题所在:
value="foo" 必须与 >foo< 中的内容完全匹配
<option value="5">Five</option>
模糊时会导致它清除字段
<option value="Five">Five</option>
将不会
在 Firefox 和 chrome 中,他们通过 ui 所以他们没有得到这个检查,它只是继续,一切都很酷。检查以确保您的值与选项文本完全匹配。
于 2010-11-23T06:13:35.643 回答
0
superfro 的分析是正确的,但是option
如果您修改这一行代码,您可以使用值与文本不同的元素:
if (this.value.match(matcher)) {
到:
if ($(this).text().match(matcher)) {
这样,您将匹配 TEXT<option value="VALUE">TEXT</option>
而不是 VALUE。
于 2010-12-09T08:22:45.297 回答