我正在使用Jquery自动完成动态文本框。这工作正常但不能在飞行元素上工作。有什么建议吗?
我的代码
$('input#ISBN').each(function () {
$(this).autocomplete({
source: '/Cataloging/Bib/GetISBN',
minLength: 1,
maxRows: 5,
select: function (event, ui) {
}
});
});
答案 0 :(得分:0)
在将元素添加到DOM后,您需要回想一下代码。
当你使用ID选择器时,我猜你只是将它用于一个元素,因此不需要循环。如果这是针对多个元素的,请将您的ID更改为类,并将选择器更改为:
$('input.ISBN')
您的代码应该是这样的:
function autoComp(element){
element.autocomplete({
source: '/Cataloging/Bib/GetISBN',
minLength: 1,
maxRows: 5,
select: function (event, ui) {
}
});
}
$(function(){
$('input#ISBN').each(function () {
autoComp($(this));
});
});
然后,无论您是否动态添加元素:
//Element added here
//e.g:
$(".foobar").append(newElement);
autoComp(newElement);
答案 1 :(得分:0)
首先给ur元素提供相同的类而不是id,而不是添加动态控件后你可以这样做
$('input.ISBN').not('.ui-autocomplete-input').each(function () {
$(this).autocomplete({
source: '/Cataloging/Bib/GetISBN',
minLength: 1,
maxRows: 5,
select: function (event, ui) {
}
});
});