jquery autocomplete ghost image

时间:2016-01-08 15:23:02

标签: jquery jquery-autocomplete jquery-ui-autocomplete

我有一个自动完成的输入。当我在输入中输入一个值时,我得到一个列表,在列表的底部,它告诉我它找到了多少记录,符合我的标准。从列表中选择一个值后,列表将消失并填充控件,但它会在控件下留下所选值的图像。

enter image description here

为什么会发生这种情况,我该如何解决?

这是我返回结果的代码:

function FillClinicsByName() {
    if ($('#txtClinicName').val() == '') {
        $('#txtClinicName').autocomplete({
            source: function (request, response) {
                $.ajax({
                    async: false,
                    delay: 250,
                    url: "WebService1.asmx/ClinicName",
                    data: "{'Name':'" + request.term.replace(/'/g, "\&apos") + "'}",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function (data) { return data; },
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return {
                                label: item.split('|')[0],
                                val: item.split('|')[1]
                            }    // end of return
                        }))    // end of response
                    }   // end of success
                });     // end of ajax
            },   // end of source
            select: function (e, i) {
                $('#hdfldClinic').val(i.item.val);
            },
            change: function (event, ui) {
                if (!ui.item) {
                    $(event.target).val('');
                }
            },
            minLength:1
        });     // end of autocomplete
    }   // nothing in the text box
}

我使用的是jquery-1.10.2.js和bootstrap 3以及vs2015

1 个答案:

答案 0 :(得分:0)

如果我不得不猜测你没有包含jQuery UI主题的CSS。快速解决方法是将此类添加到CSS:

.ui-helper-hidden-accessible {
    display: none;
}

此内容已添加到页面中,以帮助屏幕阅读器获取辅助功能。最好的办法是至少复制jQuery的类定义,因为设置它不会使屏幕阅读器忽略它。 CSS如下:

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

我相信你也可以通过编程方式关闭这些东西,但我并不是100%确定如何做到这一点,并且不认为它是它们的API。