ダイアログにあるjQueryUIオートコンプリートがあります。古いバージョンのjQuery/jQueryUIでは、返された値のリストを表示しますが、最新のバージョンでは表示されません。さらに、jQuery/jQueryUIの新バージョンでもうまくいきません。明らかに、私は何か違うことが起こっていますが、私はそれが何であるかを特定することはできません。私はz-indexを変更するためにCSSを使うことができると理解していますが、これはほとんどハックしていないようです。jQuery-UIオートコンプリートがjQuery-UIダイアログに表示されない
次の2つのライブの例をご覧ください。
http://jsbin.com/uciriq/3/(jQueryの1.4.3とjQueryUI 1.8.4を使用して)
http://jsbin.com/uciriq/2/(jQueryの1.9.1とjQueryUI 1.10.3を使用)
見られる(以上適用が "見えない" 述べた)のよう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>
EDIThttp://jqueryui.com/upgrade-guide/1.10/で記述し、以下の重複として私はjQueryUIダイアログへの変更を信じて、私の問題の原因です。私はそれらを最もうまく適用する方法が本当にわかりませんし、アドバイスをいただければ幸いです。
追加されたappendToオプション(#7948)これまで、ダイアログは、他のスタッキングコンテキストとの競合を避けるために、DOMの最後の要素であることを保証するために、常に本体に追加されていました。しかし、より柔軟性を持たせ、スタッキングロジックを簡素化するために、appendToオプションが追加され、デフォルトでボディに追加されます。詳細については、APIドキュメントを参照してください。
削除されたスタックオプション(#8722)以前スタックオプションがサポートされていたダイアログで、フォーカスを合わせてダイアログを先頭に移動するかどうかを決定しました。これが常にそうであるべきであるので、opitonは削除されました。
削除されたzIndexオプション(#8729)スタックオプションと同様に、適切なスタック実装ではzIndexオプションは不要です。 z-indexはCSSで定義され、スタック内は、フォーカスされたダイアログが親の最後の「スタッキング」要素であることを保証することによって制御されるようになりました。
最近、jQueryUIがダイアログウィジェットに幾分大きな変更を加え、http://jqueryui.com/upgrade-guide/1.10/で説明されているようにスタッキングをどのように扱うのかを学びました。私はまだこれがどのように当てはまるかはわかりませんが、確信しています。ありがとう! – user1032531