我有一個駐留在對話框中的jQueryUI自動完成。對於jQuery/jQueryUI的一些老版本,它顯示返回值的列表,而對於最新版本,則不顯示。此外,即使使用新版本的jQuery/jQueryUI,它仍然可以正常運行在一個頁面上,其中一些其他內容也不會很好。顯然,我有一些不同的東西,但我似乎無法確定它是什麼。我知道我可以使用css來改變z-index,但是這看起來有點駭人聽聞。jQuery-UI自動完成不會顯示在jQuery-UI對話框中
請參閱以下兩個實例。
http://jsbin.com/uciriq/3/(用了jQuery 1.4.3和1.8.4 jQueryUI的)
http://jsbin.com/uciriq/2/(用了jQuery 1.9.1和1.10.3 jQueryUI的)
如所看到的(或多個適用的陳述 「不見」) ,返回的jQuery 1.9.1/jQueryUI 1.10.3自動完成匹配顯示在對話框後面。
允許返回的自動填充匹配顯示的最佳解決方案是什麼?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>autocomplete with dialog</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/ui-lightness/jquery-ui.css" type="text/css" rel="stylesheet" />
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.js" type="text/javascript"></script>
<!--
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" type="text/css" rel="stylesheet" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.js" type="text/javascript"></script>
-->
<script type="text/javascript">
$(function() {
$("#search").autocomplete({
source: [ "one", "two", "three" ]
});
$("#dialog").dialog();
});
</script>
</head>
<body>
<div id="dialog" class="dialog" title="Testing">
<div class="ui-widget">
<label for="search">one, two, three: </label>
<input id="search" />
</div>
</div>
</body>
</html>
編輯我相信,通過http://jqueryui.com/upgrade-guide/1.10/以下描述和複製的改變jQueryUI的對話框是我的問題的原因。我不確定如何最好地應用它們,並會感謝任何建議。
添加了appendTo選項(#7948)以前,對話框始終附加到主體以確保它們是DOM中的最後一個元素,以避免與其他堆疊上下文發生衝突。但是,爲了實現更大的靈活性並簡化堆疊邏輯,已添加了appendTo選項,該選項默認爲正文。查看API文檔以獲取更多信息。
刪除堆棧選項(#8722)對話框先前支持堆棧選項,該選項確定對話框是否應在聚焦時移動到頂部。由於這應該總是如此,該選擇已被刪除。
刪除了zIndex選項(#8729)與堆棧選項類似,zIndex選項對於正確的堆棧實現是不必要的。 z-index在CSS中定義,現在通過確保聚焦對話框是其父代中最後一個「堆疊」元素來控制堆疊。
我最近了解到,jQueryUI對對話框小部件做了一些重大更改,以及如何處理http://jqueryui.com/upgrade-guide/1.10/中描述的堆疊。我不知道這是如何適用的,但確實如此。謝謝 – user1032531