2011-11-07 25 views
5

seçin ben raylar uygulama üzerinde yakut gelen doldurma am jquery otomatik tamamlama kullanıyorum ve böylece gibi özel bir autcomplete oluşturma:JQuery otomatik tamamlama - ilk öğeyi

$.widget("custom.code_complete", $.ui.autocomplete, { 
    _renderMenu: function(ul, items) { 
      var self = this, 
       currentCategory = ""; 
     $ul = ul; 
      $.each(items, function(index, item) { 
       if (item.category != currentCategory) { 
        ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>"); 
        currentCategory = item.category; 
       } 
       self._renderItem(ul, item); 
      }); 
     } 
    }); 

    $("#r-code").code_complete({ 
    source: "URL", 
    minLength: 2, 
    select: function(event, ui) { 
     $(".button-row").fadeIn(); 
     get_details(ui.item.url); 
    } 
    }); 

ben başka bir sayfadan bir kullanıcı yönlendirme am arama için kullanılan bir koddur URL'de parametre ile otomatik tamamlama formu ile sayfa, burada arama yapmak için JS geçerli:

function ac_search(code) { 
    $("#r-code").val(code); 
    $("#r-code").code_complete('search', code); 
} 

Bu mükemmel arama yapar ve sonuç listesinde aşağı düşmesini görüntüler . Komut dosyasına sahip olmaya çalışıyorum, sonra listedeki ilk sonucu seçiyorum. Bu otomatik tamamlama listesinde doğru elemanı bulur ama denemek ve bir tıklayın simüle zaman bu hatayı veriyor

$(".ui-menu-item:first a").click(); 

:

TypeError: ui.item is null 

programlı etmek mümkün mü Bir seçicinin aracılığıyla yapıyor çalıştı gelmiş Otomatik tamamlama sonuçları listesindeki ilk öğeyi tıklayın.

Alkış

Eef

cevap

15

kullanım Otomatik odaklama:

$(el).autocomplete({ 
     autoFocus: true 
     ... 
}); 
+0

gerçek Gerçekten sadece gerçek olarak Otomatik odaklama seçeneği ayarlayabilirsiniz bu uzantıyı gerekmez. – Ziad

19
$(el).autocomplete({ 
    autoFocus: true 
}); 
İlgili konular