Динамически добавленное свойство не видно в элементе html

0

Я добавил свойство "disabled" в textbox ввода textbox поля динамически с помощью jQuery. Но, глядя на сгенерированный HTML, он не отображается в textbox ввода textbox поля, к которому я добавил свойство "disabled".

И поскольку он не добавлен к нему, моя другая функция jQuery никогда не вводится.

Вот мой код:

Это происходит там, где в событии загрузки doc:

$('.testGroup :input').prop('disabled', true)

Эта функция показывает всплывающую подсказку, когда вы click или hover на заблокированные входы:

$('input:disabled').after(function (e) {
        debugger;
        d = $("<div>");
        i = $(this);
        d.css({
            height: i.outerHeight(),
            width: i.outerWidth(),
            position: "absolute",
        })
        d.css(i.offset());
        d.attr("title", i.attr("title"));
        d.tooltip();
        return d;
    });

Я использовал/пробовал как prop() и attr(), но не входит в мою функцию after().

По словам Павла Росании, я должен использовать prop().

Есть ли другой способ сделать это?

EDIT: jsFiddle

  • 2
    Не могли бы вы опубликовать jsfiddle?
  • 0
    Конечно, смотрите мой вопрос обновлен. Не удалось получить динамически отключенный ввод для работы с jsFiddle ('#test').prop('disabled', true); ,
Показать ещё 2 комментария
Теги:
attr
prop

1 ответ

1
Лучший ответ

Проблема в том, что ваш код, добавляющий всплывающую подсказку, запускается только один раз после того, как DOM готов. Вам нужно вызвать его для каждого элемента, который вы отключите.

Простым решением было бы написать метод для вашей всплывающей подсказки:

function AddToolTip() {
    d = $("<div>");
    i = $(this);
    d.css({
        height: i.outerHeight(),
        width: i.outerWidth(),
        position: "absolute",
    })
    d.css(i.offset());
    d.attr("title", i.attr("title"));
    d.tooltip();
    return d;
}

Затем используйте этот метод для применения всплывающей подсказки к элементам, которые отключены в DOM ready

$('input:disabled, button:disabled').after(AddToolTip);

При отключении входного элемента снова вызовите метод

$('#test').prop('disabled', true).after(AddToolTip);

скрипка

  • 0
    Работал как шарм, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню