2012-02-01 122 views
1

我在一個html頁面中使用jquery自動完成功能,它被用作一個ifrmae的源代碼。 iframe的高度和寬度固定在450px寬度和160p px高度Iframe和Jquery自動完成功能

現在的問題是當自動完成的結果集有點大時整個設置會搞砸。我試圖做的是以某種方式設置文本框的z索引,以便結果應該出現在框架邊界之外。

目前我已經增加了iframe的大小,但這消耗了大量的空白空間。

任何有關如何解決此問題的建議都是值得歡迎的。

回答

1

iframe中的內容不能「滲漏」到它所包含的文檔中。自動完成列表更新後,您可以更新iframe的高度。

檢查,看看有多少項目在列表或列表的高度,並相應地更新iframe的高度:

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

這將要素轉移的頁面上,我在想別的辦法要做到這一點是通過使用getJSON作爲文件在遠程服務器上,但我無法得到這個工作 – Sandhurst 2012-02-01 22:56:13

0

這聽起來像你可能會如果做出錯誤的UI選擇自動完成列表太笨拙。由於Jasper(+1)表示iframe「泄漏」不會發生,您可以使用jquery擴展您的容器 - 但您也可以考慮使用不同的控件組合。

例如,是否可以使用像收音機列表這樣的早期控件作爲數據過濾器,在自動填充框之前細分數據?然後,當做出選擇調整自動完成框中的數據源現在可能有可能使用像一個更易於管理的列表:

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