如何获取twitter bootstrap typeahead下拉列表中的所有源为空值?

时间:2013-01-22 10:47:10

标签: jquery html5 jquery-plugins twitter-bootstrap

我正在使用twitter bootstrap typehead。

 $(document).ready(function() {
        $("#searchfield").typeahead({
            minLength: 3,
            source: ["type1", "type2", "dtype3", "dtype4"]
        });
    });

当我专注于input标签(“#searchfield”)时,即使它是空的,我想在下拉列表中显示所有的秘密(建议下拉)。这意味着当我没有输入任何字母时,我希望显示所有来源。如果我输入任何字母,则需要显示相关数据(typehead的正常功能。)

点击某个链接。下拉需要提供所有给定的来源。 例如:

<a href="#someId">Click here to populate typehead in #searchfield input tag </a>
<input type="text" id="searchfield">

在点击链接时,输入字段需要填充所有给定来源的下拉列表(type1, type2, dtype3,dtype4

1 个答案:

答案 0 :(得分:0)

我在插件中更改了以下方法

, lookup: function (event) {
      var that = this
        , items
        , q

      this.query = this.$element.val()

    //console.log(this.query);
    //alert("this.query"+ this.query);

      if (!this.query) {
         return this.shown ? this.hide() : this
      }

      items = $.grep(this.source, function (item) {
       if this.query == "*"
          return item
       else
          return that.matcher(item)

      })

        //console.log("==items=="+items.length);
        //console.log(items);

      items = this.sorter(items)

       if (!items.length) {
        return this.shown ? this.hide() : this
      }

      return this.render(items.slice(0, this.options.items)).show()
    }

并将click事件绑定到锚标记(<a id="someID" ......

jQuery('#someID').click(function(){
     var $input = $("#seachfield");
     //add something to ensure the menu will be shown
      $input.val('*');
      $input.typeahead('lookup');
      $input.val('');


});

希望这对其他人有所帮助..