如果只返回1条记录,则jquery自动完成调用函数

时间:2015-03-01 23:45:43

标签: jquery-ui autocomplete

我想在下面运行jQuery自动完成功能只返回1个结果。我不确定如何检查列表中只有1个结果。

请帮忙。

$(function() {

  function log(message) {

    $("<div>").text(message).prependTo("#log");

    $("#log").scrollTop(0);

  }

  $("#inputBox2").autocomplete({

    source: "searchsalonproduct.php",

    cacheLength: 0,

    minLength: 1,
    select: function(event, ui) {
      addcharge(ui.item.id);

      return false;

    }

  }).data("ui-autocomplete")._renderItem = function(ul, item) {
    return $("<li></li>")
      .data("item.autocomplete", item)
      .append("<a>" + item.label + "</a>")
      .appendTo(ul);
  };

});

1 个答案:

答案 0 :(得分:0)

使用响应事件进行检查。找到的结果存储在ui.content中(ui是事件处理程序中的参数)。

&#13;
&#13;
$("#inputBox2").autocomplete({

  source: "searchsalonproduct.php",

  cacheLength: 0,

  minLength: 1,
  select: function(event, ui) {
    addcharge(ui.item.id);

    return false;

  },
  response: function(event, ui) {
    
    if(ui.content.length === 1) {
      //do stuff
    }
  }

}).data("ui-autocomplete")._renderItem = function(ul, item) {
  return $("<li></li>")
    .data("item.autocomplete", item)
    .append("<a>" + item.label + "</a>")
    .appendTo(ul);
};
&#13;
&#13;
&#13;