嗨,我在twitter引導中使用typeahead。我在這裏找到的是,在自動完成下拉菜單中,它默認選擇第一個選項。我的要求是,最初它應該沒有選擇任何東西,只有當我按導航鍵(向上或向下)或當我將鼠標懸停在上面時,它纔會成爲第一個選項。它是否使用typeahead。Bootstrap Typeahead:刪除第一項的強制選擇
6
A
回答
2
還有更強大的typeahead project從Twitter沒有這個問題。我不明白爲什麼這個項目不是直接包含在Twitter Bootstrap中。
你可以看到here some examples。
1
2
您可以簡單地覆蓋引導程序typeahead渲染方法來實現此目的。原先的typeahead插件中的items.first().addClass('active')
行將在此重寫中移除。
$.fn.typeahead.Constructor.prototype.render = function(items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item)
i.find('a').html(that.highlighter(item))
return i[0]
})
this.$menu.html(items)
return this
};
0
1開自舉-typeahead.js 和評論items.first()。addClass( '激活')
render: function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item)
i.find('a').html(that.highlighter(item))
return i[0]
})
// items.first().addClass('active')
this.$menu.html(items)
return this
}
4
爲了避免選擇由預輸入第一個選項默認,我在官方文檔中記錄使用的參數:autoSelect。默認情況下,將其設置爲「真」
我的代碼:
$('#searchString', this.el).typeahead({
source: function (query, process) {
var q = '/autocompleteSearch?searchString=' + query;
return $.get(q, function (data) {
return process(data);
});
},
minLength: 3,
autoSelect: false
});
0
我已經找到了解決辦法here,通過增加工作的這第一:
var newRender = function(items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item)
i.find('a').html(that.highlighter(item))
return i[0]
})
this.$menu.html(items)
return this
};
$.fn.typeahead.Constructor.prototype.render = newRender;
$.fn.typeahead.Constructor.prototype.select = function() {
var val = this.$menu.find('.active').attr('data-value');
if (val) {
this.$element
.val(this.updater(val))
.change();
}
return this.hide()
};
它覆蓋引導預輸入不最初選擇任何東西
相關問題
- 1. Bootstrap typeahead中的多項選擇
- 2. Angular UI Bootstrap TypeAhead - 如何強制用戶選擇
- 3. UI Bootstrap typeahead列表 - 不要自動選擇/突出顯示第一項
- 4. 刪除。如果不選擇強制選項
- 5. 強制選擇選項於一行
- 6. 將選擇選項複製到另一個選項,但在第一個選項中選擇的選項除外
- 7. angular 2 - ng2-bootstrap typeahead - 如何不選擇任何選項?
- 8. 離子指令從選擇中刪除第一個選項
- 9. bootstrap typeahead ajax從數據中選擇值
- 10. 如何刪除bootstrap中點擊選項的輪廓選擇
- 11. Angular UI-Bootstrap Typeahead:接受在ENTER上選擇的頂部項目
- 12. Bootstrap Typeahead只顯示第一個字母
- 13. Bootstrap Typeahead只顯示第一個字母
- 14. 刪除listview項只刪除第一項
- 15. jQuery的刪除「選擇選項」元素值除第二個選項值
- 16. Angular UI Bootstrap - 未選擇Typeahead下拉值時清除模型值?
- 17. 選擇除第一
- 18. Angular ng-options刪除空白選項並僅選擇第一個選項
- 19. 選擇選項後刪除ColdFusion選項
- 20. 如何限制UITableView中第一行的刪除選項
- 21. jQuery刪除設置選擇選項選擇不刪除
- 22. 選擇選項將強制選擇其他選項
- 23. jQuery的,如果選擇選項等於值刪除值的第二選擇
- 24. Angular-Bootstrap UI選項卡:刪除選項卡選項
- 25. 刪除選擇列表項
- 26. 的jQuery選擇第一項
- 27. 去除選擇框中的所有選項,除了第一種選擇
- 28. 一起使用Bootstrap Typeahead和Twitter Typeahead
- 29. 如何刪除空的選擇選項?
- 30. 的jQuery選擇刪除選項
您是否嘗試過使用值爲-1的高亮選項? – Tkingovr
不,我會試試,讓我檢查一下。 –
@Tkingovr對不起,它不起作用,熒光筆是一個功能,它如何能夠帶來價值。 –