Web uygulamasında bir otomatik tamamlama alanı var ve bir ok tuşu olduğunda kategori alanlarını otomatik olarak atlayarak alanın kullanılabilirliğini artırmanın bir yolunu arıyorum mevcut seçenekleri aşağı kaydırmak için kullanılır (kısmi bir arama terimi yazdıktan sonra).
Örneğin, bir kullanıcı "an" yazmaya başladığında, otomatik tamamlama, her birinde öğelerle birlikte iki kategoriyi gösterir. Kullanıcı, listede "Kişiler" altındaki öğelerden birini seçmek istiyor. Listede aşağı doğru hareket etmek için ok tuşunu kullanırlar. Şu anda, bu kod, kategorileri sonuçlarda bir liste öğesi olarak ekler. Ok tuşlarını kullanırken, bir sonucu vurgulamak ve seçmek için bunları iletmelisiniz. Uygulamanın otomatik olarak bu kategori başlıklarını atlayabilmesi mümkün mü?jQuery UI Otomatik Tamamlama Kategorisi Kategori Başlıkları Nasıl Atlanılır
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-menu-item ui-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
var data = [
{ label: "annk K12", category: "Products" },
{ label: "annttop C13", category: "Products" },
{ label: "anders andersson", category: "People" },
{ label: "andreas andersson", category: "People" },
{ label: "andreas johnson", category: "People" }
];
$("#textfield").catcomplete({
source: data,
select: function(event, ui) {
window.location.hash = "id_"+escape(ui.item.id);
}
});
Mükemmel, bu düşündüğümden çok daha kolaydı. Yardımın için teşekkürler. – arcdegree
@arcdegree: Sorun değil, yardımcı olmaktan mutluluk duyuyorum :) –
Bu nedenle, 1.10.4''den beri artık bu işe yaramıyor - [Menü: Menü öğelerinde ankraj gereksinimini kaldır] (http://bugs.jqueryui.com/ bilet/10130). Bunun nedeni, ankrajların kaldırılmış olmasından dolayı, 'li' elemanları arasında hiçbir ayrım olmadığını, 'ui-menu-item' sınıfına girip almamanıza bakılmaksızın sınıflandırma yapmanıza gerek yoktur. – Lankymart