自动完成IE&火狐

时间:2016-05-27 08:41:33

标签: javascript php jquery google-chrome internet-explorer

HY,

我需要的帮助不大。 我使用jquery自动完成功能,它只适用于Chrome。任何IE或Firefox都不会显示列表。 这是我的代码:

  $(function() {

$( "#project" ).autocomplete({
  minLength: 0,
  source: "fetch.php",
  focus: function( event, ui ) {
    $( "#project" ).val( ui.item.label );
    return false;
  },
  select: function( event, ui ) {
    $( "#project" ).val( ui.item.label );
    $( "#project-id" ).val( ui.item.value );
    $( "#project-description" ).html( ui.item.desc );
    return false;
  },
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
  return $( "<li>" )
    .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
    .appendTo( ul );
};

});

我在模态中有#project字段。那是问题吗? 我在stackoverflow上搜索但没有任何帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

请尝试以下方法:

$(function() {
$("#project").autocomplete({
        minLength: 0,
        source: "fetch.php",
        focus: function(event, ui) {
            $("#project").val(ui.item.label);
            return false;
        },
        select: function(event, ui) {
            $("#project").val(ui.item.label);
            $("#project-id").val(ui.item.value);
            $("#project-description").html(ui.item.desc);
            return false;
        },
    })
    .data("ui-autocomplete")._renderItem = function(ul, item) {
        return $("<li>")
            .data("ui-autocomplete-item", item)
            .append("<a>" + item.label + "<br>" + item.desc + "</a>")
            .appendTo(ul);
    };
});

看起来jQuery的新版本中的句柄已经改变:1.9&amp; 1.10

看起来使用的样本here正在使用旧句柄,它们不再正常工作!