我使用的是jquery 1.11.1和jqueryui 1.11.2。问题出现在运行IE的Windows 8.1中。自动填充功能使用" open"将标头添加到结果集中。当您向下箭头向下箭头时,单击将导致"无法获得属性'值'未定义或空引用。
所以这是自动完成的一部分
open: cComboboxOpenApplica,
focus: function (event, ui) {//what populates the drop down
$("[id$=txtApplicant]").val(ui.item.label);
$("[id$=hfApplicantID]").val(ui.item.value);
return false;
},
和open
调用的函数function cComboboxOpenApplicant(event) {
var mComboboxOpenApplicant = '<li style="font-size:10px; padding-left:5px; padding-bottom:20px"><div class="divUIMultiColumnHeader" style="width:100px">First Name</div><div class="divUIMultiColumnHeader" style="width:150px">Last Name</div><div class="divUIMultiColumnHeader" style="width:50px">SSN</div><div class="divUIMultiColumnHeader" style="width:100px">ID</div></li></a>';
$("ul.ui-autocomplete").prepend(mComboboxOpenApplicant);
}
同样,当我使用鼠标时,这一切都有效。当鼠标悬停在返回结果顶部的标题行上时,它不会突出显示第一行,也不允许您单击它。如果您使用键盘并在出现错误时点击向下箭头,因为它试图高亮显示其中包含标题的第一行并且出现错误
focus: function (event, ui) {//what populates the drop down
$("[id$=txtApplicant]").val(ui.item.label);
$("[id$=hfApplicantID]").val(ui.item.value);
return false;
},
行ui.item.label
我错过了什么来帮助解决这个问题。
答案 0 :(得分:0)
尝试event.preventDefault();在焦点事件中的代码之上。
像
focus: function (event, ui) {//what populates the drop down
event.preventDefault();
$("[id$=txtApplicant]").val(ui.item.label);
$("[id$=hfApplicantID]").val(ui.item.value);
return false;
},