我有一个自动完成的输入。当我在输入中输入一个值时,我得到一个列表,在列表的底部,它告诉我它找到了多少记录,符合我的标准。从列表中选择一个值后,列表将消失并填充控件,但它会在控件下留下所选值的图像。
为什么会发生这种情况,我该如何解决?
这是我返回结果的代码:
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
答案 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。