自动完成和模态

时间:2015-03-12 20:39:23

标签: javascript jquery css autocomplete

我在这个div中有一个模态div和文本框。我想为文本框设置自动完成功能。要正确设置z-index以进行自动完成,请使用以下代码:

$('.autocompleteTextbox')
    .autocomplete("option", "appendTo", "#my_dialog");

它工作正常,但我想为许多模态div设置它,这些div是自动生成的

所以,我试试这段代码:

var ac = $('.autocompleteTextbox');
$('.modal').each(function(i,v) {
    var id = v.id;
    ac.autocomplete("option", "appendTo", id);
});

它不起作用

$('.modal').each(function(i,v) {
    var id = v.id;
    ac.autocomplete("option", "appendTo", v);
});

它也不起作用。如何正确地做到这一点?

3 个答案:

答案 0 :(得分:0)

试试这个:

$('.modal').each(function () {
    $(this).find('.autocompleteTextbox').autocomplete("option", "appendTo", '#' + this.id);
});

另一种选择是将类ui-front添加到.modal div。在这种情况下,您不需要指定appendTo选项,因为

  

如果找到具有ui-front类的元素,则菜单将附加到该元素。

答案 1 :(得分:0)

您更改自动完成结果的div的z-index:

如果是jquery.ui,请添加样式标记:

<style>
.ui-autocomplete { 
           position: absolute;
           cursor: default;
           z-index:999 !important;
}  
</style>

答案 2 :(得分:0)

找到解决方案

    $('.modal').each(function(i,v)
    {
        $(this).find('.autocompleteTextbox').autocomplete("option", "appendTo", v);
    });

    $('.modal').each(function(i,v)
    {
        $(this).find('.autocompleteTextbox').autocomplete("option", "appendTo", this);
    });

$('.modal').each(function(i,v)
{
    $(this).find('.autocompleteTextbox').autocomplete("option", "appendTo", '#' + this.id);
});