Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动完成与模态_Javascript_Jquery_Css_Autocomplete - Fatal编程技术网

Javascript 自动完成与模态

Javascript 自动完成与模态,javascript,jquery,css,autocomplete,Javascript,Jquery,Css,Autocomplete,我在这个div中有一个模态div和textbox。我想为textbox设置一个自动完成。要正确设置自动完成的z索引,请使用以下代码: $('.autocompleteTextbox') .autocomplete("option", "appendTo", "#my_dialog"); 它工作得很好,但我想为许多模态div设置它,这些div是自动生成的 因此,我尝试以下代码: var ac = $('.autocompleteTextbox'); $('.modal').each(fu

我在这个div中有一个模态div和textbox。我想为textbox设置一个自动完成。要正确设置自动完成的z索引,请使用以下代码:

$('.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);
});
它也不起作用。如何正确操作?

尝试以下方法:

$('.modal').each(function () {
    $(this).find('.autocompleteTextbox').autocomplete("option", "appendTo", '#' + this.id);
});
另一个选项是将class
ui-front
添加到
.modal
div。在这种情况下,您不需要指定选项,因为

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


将div od的z索引更改为自动完成的结果:

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

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

.ui自动完成{
位置:绝对位置;
游标:默认值;
z指数:999!重要;
}  
找到了解决方案

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


我认为应该是
ac.autocomplete('option','appendTo','#'+id)根本不起作用。即使在模态:)下,如果你直接复制,我在那里有一个拼写错误…你能发布你的HTML结构吗?我认为
v.id
是个问题:)@OlegSh是的,如果你传递
v
参数,它是
v.id
,与
this.id
@OlegSh是一样,对于id,它应该是
#+this.id
,才能成为正确的CSS选择器。在这种情况下,simple
v
看起来更好。@Chad不确定你想解释什么。当然,如果一个人使用
这个
,那么理解如何使用它以及它在什么上下文中使用是很重要的。在我的示例中,我知道这个
是什么,问题不会发生。或者
$(v).find('.autocompleteTextbox').autocomplete({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);
});