繁体   English   中英

jQuery的:对话框不会触发自动完成

[英]JQuery: dialog doesn't fire autocomplete

我正在使用带有JQuery 1.7.2和JQuery-UI 1.8.18的http://docs.jquery.com/UI/Dialoghttp://docs.jquery.com/UI/Autocomplete

有一个带有文本框的表单,当正常加载到页面中时,将触发自动完成功能。 很好,很简单!

(function() {

  jQuery(function($) {
    return $("#type").autocomplete({
      source: "/auto-suggest/supplies",
      minLength: 2
    });
  });

}).call(this);

但是,如果通过对话框呈现表单,则不会触发自动完成功能(不会更改UI,并且服务器不会显示对源URL的访问权限)。 我假设这是因为在文档加载时尚未呈现输入字段。 因此,我尝试通过使用dialog的create事件来分配自动完成功能,方法是将该函数作为回调传递给它。 同样,自动填充功能不会触发。

我对如何使它正常工作感到迷惑。 我很想让对话框创建,然后在文档加载时隐藏它,但是在这种情况下,对话框可能有多个实例,因为它与表数据有关。

任何帮助,将不胜感激。

尝试使用open事件 -这将确保DOM元素准备就绪

$( ".selector" ).bind( "dialogopen", function(event, ui) {
  $("#type").autocomplete({
      source: "/auto-suggest/supplies",
      minLength: 2
  });
});

尝试委托

委托自动完成

最佳解决方案撰写者:ManseUK

您甚至可以获取值,然后在成功调用对话框中

$.get('/auto-suggest/supplies', function(data) {
  //call dialog here
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM