我正在使用http://docs.jquery.com/UI/Dialog和http://docs.jquery.com/UI/Autocomplete与JQuery 1.7.2和JQuery-UI 1.8.18。
有一个带有文本框的表单,当正常加载到页面中时,它会激活自动完成功能。这很简单!
(function() {
jQuery(function($) {
return $("#type").autocomplete({
source: "/auto-suggest/supplies",
minLength: 2
});
});
}).call(this);
但是,如果通过对话框呈现表单,则不会触发自动完成(没有UI更改,并且服务器不显示对源URL的访问权限)。我假设这是因为输入字段尚未在文档加载时呈现。因此,我尝试使用对话框的create
事件来分配自动完成,方法是将函数作为回调传递给它。同样,自动完成功能不会触发。
我对如何让它发挥作用感到困惑。我很想让对话框创建然后隐藏在文档加载上,但在这种情况下,对话框可能有多个实例,因为它与表数据有关。
对此的任何帮助将不胜感激。
答案 0 :(得分:3)
尝试使用open
event - 这将确保DOM元素准备就绪
$( ".selector" ).bind( "dialogopen", function(event, ui) {
$("#type").autocomplete({
source: "/auto-suggest/supplies",
minLength: 2
});
});
答案 1 :(得分:1)
答案 2 :(得分:1)
您甚至可以获取值,然后在成功调用对话框中
$.get('/auto-suggest/supplies', function(data) {
//call dialog here
});