jqueryui自动完成,前缀中的标题在使用键盘滚动时给出空引用

时间:2015-02-06 16:10:28

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

我使用的是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

我错过了什么来帮助解决这个问题。

1 个答案:

答案 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;
    },