Я добавил свойство "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
Проблема в том, что ваш код, добавляющий всплывающую подсказку, запускается только один раз после того, как 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);
('#test').prop('disabled', true);
,