我遇到了一個對話框中jQueryUI自動完成的有趣問題。jQueryUI自動完成不與對話框和zIndex一起工作
我的對話框HTML看起來像這樣:
<div id="copy_dialog">
<table>
<tbody>
<tr>
<th>Title:</th>
<td><input type="text" class="title" name="title"></td>
</tr>
<tr>
<th>Number:</th>
<td><input type="text" name="number"></td>
</tr>
</tbody>
</table>
</div>
當我運行在上面的HTML jQueryUI的自動完成功能,它可以完美運行。
當我打開它在Firebug使用對話框
$('#copy').click(function()
{
$('#copy_dialog').dialog({
autoOpen: true,
width: 500,
modal: false,
zIndex: 10000000,
title: 'Duplicate',
buttons: {
'Cancel': function()
{
$(this).dialog('close');
},
'Save': function()
{
$(this).dialog('close');
}
}
});
return false;
});
然後,我可以看到自動完成仍然是工作。它請求並接收結果,但我不再看到輸入字段下方的選項列表。
我的想法是,這與對話框中的zIndex比自動完成菜單給出的zIndex有關,但我不確定。 我仍在研究發生了什麼的確切細節,但我希望這裏有人會對我有一些想法。
編輯 我試着從對話框中刪除zIndex,我的自動完成開始顯示出來。 不幸的是,我需要這個zIndex值來獲取菜單欄的可怕的高zIndex,這是我無法改變的(無法訪問該代碼的區域)。因此,如果有一種方法可以將zIndex添加到自動完成功能中,那就太棒了;在此之前,我可能會從對話框中刪除zIndex,並確保它不會顯示在菜單欄區域周圍。
這工作完美!謝謝! – 2011-12-31 01:41:08
當返回的列表長度超過模式對話框的高度時,這不起作用,在這種情況下,這些項目只顯示在對話框的頂部,一旦它們通過它們的底部,它們全部隱藏起來。 – salonMonsters 2013-04-15 19:07:17
它就像一個魅力!非常感謝! – frabiacca 2014-06-26 15:14:11