自动完成出现在模态弹出窗口后面

5

我正在使用简单的jQuery弹出窗口和jQuery自动完成。自动完成的代码如下:

$("#tags").autocomplete({
    source: NameArray
});

这段代码中,tags是文本框的ID,NameArray是字符串数组。然而,在模态弹出窗口中,代码应该是这样的:

function openFilterPopUp() {

    $("#tags").autocomplete({
        source: NameArray
    });
    $("#openFilterPopUp").dialog({
        resizable: false,
        height: 240,
        modal: true,
        buttons: {
            "ok": function() { $(this).dialog("close"); },
            Cancel: function() { $(this).dialog("close"); }
        }
    });

}

Autocomplete的数据显示正常,但它出现在弹出窗口的后面。请帮忙解决。感谢任何帮助。
2个回答

18
添加自动完成的appendTo属性。
$("#tags").autocomplete({
    source: NameArray,
    appendTo : _parentElement
});

_parentElement可以成为您的模态窗口主体


2
谢谢,我点赞了,因为这个解决方案让我在搜索解决方案的几秒钟内解决了我的问题。您可以在appendTo选项中使用元素的ID,例如 appendTo: "#your_element_id"。只是为了补充一下appendTo选项的官方文档:https://api.jqueryui.com/autocomplete/#option-appendTo - Ken Sawyerr

2

我尝试了这段代码并成功:

$("#tagsname").autocomplete({
    appendTo : "#modalform",
    source: DataArray
    
});


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接