$("#destination1" + countVar).autocomplete({
minLength : 3,
source : function(request, response) {
var url = configOptions.icaocodeUrl;
var term = request.term;
url=url+term;
console.log(url);
$.ajax({
url : url,
type : "GET",
data : request,
dataType : "json",
success : function(data) {
response(data.slice(0, 10));
//alert(data);
},error: function(xhr, textStatus) {
alert('error');
}
});
},
change:function(event,ui){
console.log("fired in dest2");
},close:function(event,ui){
console.log("close in dest2"+'#dof1'+countVar);
console.log(countVar);
$(this).parents('form').find('#dof1'+countVar)
.filter(function () { return $(this).val() === ''; })
.first().focus();
}
});
上面是我的代码,用于自动完成和autotab(自动对焦)到动态创建的元素的下一个字段.autotab(autofocus)对于普通的html工作正常,但它不适用于动态创建的元素。
答案 0 :(得分:0)
您是否尝试在动态添加的标签页上focus()
?如果是这样,您可能很快就会触发focus()
并且DOM元素可能不在那里。
尝试将焦点函数包装到setTimeout()
函数中以对其进行测试。
setTimeout(function () {
$(this).parents('form').find('#dof1'+countVar)
.filter(function () { return $(this).val() === ''; })
.first().focus();
}, 2000); // 2 seconds