代码之家  ›  专栏  ›  技术社区  ›  John Sheehan

jQuery自动完成:确定输入的文本是否不匹配

  •  4
  • John Sheehan  · 技术社区  · 17 年前

    6 回复  |  直到 17 年前
        1
  •  3
  •   Rob    15 年前

    我在“自动完成”功能中执行了以下操作:

    change: function(event, ui){
       $(this).next("input[id^=person_id]").val('');
      return false;
    

        2
  •  2
  •   Harry Binnendyk    13 年前

    您还可以将“搜索”选项与自动完成一起使用。

    search: function(event, ui){
       $(this).next("input[id^=person_id]").val('');
    }
    

        3
  •  1
  •   turezky    16 年前

    我也有同样的问题。。。当值不匹配时,似乎没有发生事件。。。然而,似乎已经找到了一些解决办法。。。

    由Xavier在 this thread:

    selected: function() {
      if(listItems.filter(”.” + CLASSES.ACTIVE)[0]){
        return data && data[ listItems.filter("." + CLASSES.ACTIVE)[0].index ];
      } else {
        if (options.notFound){
          options.notFound();
        } 
      }
    }
    

    我认为这不是最好的解决办法。。。还有其他想法吗? 是的,我也没有解决如何使用这个特殊的解决方案:(

        4
  •  1
  •   turezky    16 年前

    哦,我想我找到了一个诀窍如何超越所有这些事件。。。 简单地说,将此添加到 extraParams 以及发送到自动完成的其他参数

    extraParams: { 
        x: function(){ $("#targetField").val(''); }
    }
    

    这一个只是在发送请求时清空字段,如果没有找到结果或者没有选择任何内容,并且输入了一些新的自定义值,那么它将保持为空。。。

        5
  •  0
  •   John Sheehan    17 年前

    根据评论线索 here

        6
  •  -1
  •   Misha Zaslavsky    11 年前
    $("#txtSearchProvider").autocomplete("../WebServices/PageMethods/AutoComplete.aspx",
                    {
                        minChars: 3,
                        formatItem: function(data, i, n, value) {
                            return  value.split("-z-")[0];
                        },
                        formatResult: function(data, value) 
                        {
                            return value.split("-z-")[0];
                        }
                    }
                );
                $("#txtSearchProvider").result(function(event, data, formatted) {
                    $("#txtSearchProviderHidden").val(data[0].split("-z-")[1]);
                });
    

    来自以下地址的响应:../WebServices/PageMethods/AutoComplete.aspx

    数据1,A公司-z-29310 数据2,Almazan&芭芭拉律师事务所-z-35745 多斯桑托斯桑托斯-z-36327 卡尔扎诺;萨尔扎诺-z-39295