1

ページ上の複数のコンボボックスでjquery.ui.autocompleteを使用しています。IEの場合のみ、フォーカスが失われるとコンボボックスがリセットされます(onBlur)。JSデバッグの量は原因を明らかにすることはできません。助言がありますか?

4

2 に答える 2

2

わかりました、これが私が思いついたものです。私はあなたのコードを使用して、あなたのバグを再現しました。

IE が異なる理由は、たとえば... firefox では、次のルーチンです。

                                    change: function (event, ui) {
                                        if (!ui.item) {

Firefox では ui.item は null ではなく、IE では null です。したがって、IE では、value 属性の '<option value="foo">foo</option>' の実際の値を取得し、テキスト ボックスの内容と比較する必要があります。

問題は次のとおりです。

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、この 1 行のコードを変更すると、値がテキストと異なる要素を使用できます。

if (this.value.match(matcher)) {

に:

if ($(this).text().match(matcher)) {

<option value="VALUE">TEXT</option>このようにして、VALUEの代わりに TEXT と照合します。

于 2010-12-09T08:22:45.297 に答える