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