iframe和Jquery自动完成功能

时间:2012-02-01 22:48:23

标签: javascript jquery jquery-ui iframe autocomplete

我在html页面中使用jquery自动完成功能,该页面用作ifrmae的源代码。 iframe的高度和宽度固定在450px宽度和160ppx高度

现在问题是当自动完成的结果集有点大时,整个设置就搞砸了。我想要做的是以某种方式设置文本框的z-index,以便结果应该出现在框架边界之外。

目前我已经增加了iframe的大小,但是消耗了大量的空白空间。

欢迎任何有关如何解决此问题的建议。

2 个答案:

答案 0 :(得分:1)

iframe中的内容无法“泄漏”到其包含的文档中。您可以在更新自动填充列表时更新iframe的高度。

检查列表中的项目数或列表的高度,并相应地更新iframe的高度:

$('#some-element').autocomplete({
    change : function (event, ui) {
        var theHeight = $(this).height();
    }
});

答案 1 :(得分:0)

如果自动填充列表过于笨重,听起来您可能会选择错误的UI。正如Jasper(+1)所说iframe'泄漏'不会发生,你可以使用jquery扩展你的容器 - 但你可能也想考虑使用不同的控件组合。

例如,您是否可以使用像收音机列表这样的早期控件作为数据过滤器,在自动完成框之前细分您的数据?然后,当进行该选择时,调整自动完成框的数据源,该列表现在可能具有更易于管理的列表,可能使用以下内容:

var radioValue = $("#radio").val();
$.each(function(key, value) { 
  switch (radioValue)
  {
    case 1: 
    ... filter autocomplete data ... 
    break;
    case 2: ...
  }
});