Автозаполнение пользовательского интерфейса jQuery работает в Firefox, но не в IE

StackOverflow https://stackoverflow.com/questions/2456005

Вопрос

У меня есть новый виджет автозаполнения в jQuery UI 1.8rc3, который отлично работает в Firefox.В IE это вообще не работает.Кто-нибудь может мне помочь?

HTML:

<input type="text" id="ctrSearch" size="30">
<input type="hidden" id="ctrId">

Javascript:

$("#ctrSearch").autocomplete({
    source: "ctrSearch.do",
    minLength: 3,
    focus: function(event, ui){
        $('#ctrSearch').val(ui.item.ctrLastName + ", " + ui.item.ctrFirstName);
        return false;
    },
    select: function(event, ui){
        $('#ctrId').val(ui.item.ctrId);
        return false;
    }
});

Результат (IE 8):

Красная коробка — это <ul> элемент, созданный jQuery.

Я также получаю эту ошибку:

Line: 116
Error: Invalid argument.

Когда я открываю его в отладчике сценариев IE8, он выделяет f[b]=d в строке 116 jquery.min.js.Обратите внимание, что я использую версию 1.4.2 jQuery, размещенную на серверах Google (https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js).

Я пробовал удалить некоторые параметры, но даже когда я звоню .autocomplete() без параметров или только с параметром источника я все равно получаю тот же результат.

Еще раз: в Firefox это работает, но не в IE.Какие-либо предложения?

Спасибо.

ОБНОВЛЯТЬ: Как было предложено, я использовал jquery.js (вместо jquery.min.js) и получил ошибку в строке 4618.См. ответ джиттера ниже.Пожалуйста, посмотри еще один вопрос о переполнении стека это было опубликовано несколько дней назад.

ОБНОВЛЕНИЕ 2: Я обнаружил, что автозаполнение пользовательского интерфейса jQuery использует недопустимое свойство. this.element.height, когда следует использовать функцию this.element.height()

Это было полезно?

Решение

Если я правильно понимаю, строка, на которую вы ссылаетесь, кажется строкой 4618 в jquery.1.4.2.js в style функция.Это может означать только то, что плагин Autocompleter пытается установить значение стиля, которое IE8 не понимает или не позволяет получить доступ/изменить таким образом.

style[ name ] = value; //style == elem.style from the passed in element

Другие советы

У меня точно такая же ошибка в той же строке, но совсем по другой сделке.То есть я не делаю ничего, связанного с автозаполнением;скорее, мое происходит потому, что я пробую это в jQuery...

$(this).css('background', 'rgba(64,255,64,.4)');

Что jQuery пытается сделать...

style [ 'background' ] = 'rgba(64,255,64,.4)';

И это, конечно же, не удается, потому что rgba не является поддерживаемым значением CSS для Internet Explorer.Итак, вы не одиноки в этом вопросе, но в моем случае я просто делал это неправильно.Соответствующий синтаксис jQuery таков...

$(this).css({backgroundColor: '#40ff40', opacity: .4});

Вот мой источник...

http://www.cjs.me.uk/blog/?p=238

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top