我在html页面中使用jquery自动完成功能,该页面用作ifrmae的源代码。 iframe的高度和宽度固定在450px宽度和160ppx高度
现在问题是当自动完成的结果集有点大时,整个设置就搞砸了。我想要做的是以某种方式设置文本框的z-index,以便结果应该出现在框架边界之外。
目前我已经增加了iframe的大小,但是消耗了大量的空白空间。
欢迎任何有关如何解决此问题的建议。
答案 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: ...
}
});