使用用户限制自动完成Jquery

时间:2012-02-27 05:10:34

标签: jquery jquery-ui

我正在处理自动完成并使用此http://jqueryui.com/demos/autocomplete/#combobox

现在我的查询是这个api为用户提供了键入和搜索组合框值的灵活性,但由于此用户可以输入任何内容。但是有没有办法限制用户提交错误的搜索查询。这是因为我的组合框将用作搜索条件,其值将提交到下一页,由于此功能,它会向页面提交错误的数据。

提前谢谢你...... 感谢

1 个答案:

答案 0 :(得分:1)

您可以尝试使用自定义匹配器功能强制匹配或清除字段...

$("#input").autocomplete({ << initialise the autocomplete here >>})
.on('blur', function(event){
  // Grab the autocomplete object
  var autocomplete = $(this).data("autocomplete");
  var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex($(this).val()) + "$", "i");
  // Iterate through the autocomplete list items to find any partial or full matches
  autocomplete.widget().children(".ui-menu-item").each(function() {
    var item = $(this).data("item.autocomplete");
    if (matcher.test(item.value || item)) {
      //There was a match
      matchcount++;
      autocomplete.selectedItem = item;
      return;
    }
  });
  if (autocomplete.selectedItem) {
    //if there was a match trigger the select event on that match
    autocomplete._trigger("select", event, {
      item: autocomplete.selectedItem
    });
  //there was no match, clear the input
  } else {
      $(this).val('');
  }
});