0

我正在使用 bootstrap 和 typeahead 并让它工作:当用户在三个字符后键入时,下拉列表显示正常。如果他们单击屏幕或另一个窗口上的任何位置,下拉列表就会消失。为了再次查看该列表,用户需要删除一个字符并将其放回以再次显示该列表。

我正在寻求帮助的是,我想在输入之外放置一个按钮,当按下时会调用预先输入(基本上再次显示列表)。我确实尝试了一个小技巧,当按下按钮以触发输入的 onchange 事件时,但这不起作用

谢谢你的帮助

<input autocomplete="off" class="span3" id="search-critera"
           type="text" placeholder="Enter docSet name or docSet id "
           data-provide="typeahead"  >
 <button id="typeahead-but" class="btn btn-small btn-primary"type="button">
 Search</button>

这是js片段

 $('#search-critera').typeahead({
            minLength: 3,
            items: 26,
            source: function(query, process) {
            return $.ajax({
                  url: URLsArray['autocompleteURL'][URLmode],
                  type: 'get',
                  data: ({query: query, limit:25 }),
                  dataType: 'jsonp',
                  success: function(data) {
                                return process(options);
                            }
                        });
                    },
                  highlighter: function (item) {
                        var foo = item.split('|');
                        return foo[1];
                  },
                  matcher: function (item) {
                        /*
                         * I do not need a matcher since the backend is handling that
                         */
                        return true;
                  },
                  updater: function(selected) {
                        var foo = selected.split('|');
                        self.loadMgrSnip();
                        self.getDocSet( foo[0] );

                    }
                });
4

1 回答 1

0

我正在使用这里的示例:http: //twitter.github.io/bootstrap/javascript.html#typeahead

看起来当输入失去焦点时,<ul>它与(下面)相关联的将 css 更新为 havedisplay: none而不是display: block.

<ul class="typeahead dropdown-menu" style="top: 69px; left: 19px; display: none;">
...
</ul>

如果您添加一个更改您的display值的按钮(切换无和阻止),那么您应该能够完成此操作。

于 2013-06-27T19:03:22.077 回答