2010-06-16 13 views
5

ile Jquery 1.4.2 kullanıyorum ve bu sorunu yaşıyorum.JQuery UI Otomatik Tamamlama, seçildikten sonraki değer (fare ile), farklıdır (ok tuşları ile)

Başlangıçta, Otomatik Tamamlama giriş alanının değerini zorlayamıyorum, bu büyük bir sorun değil.

Ama onunla bu sorun var:

Ben benzer şekilde hareket etmez, bir kullanıcı select klavye okları kullanarak fareyi kullanarak bir seçim. Klavyeyi kullanırken her şey gayet iyi ve giriş metin kutusunda seçildikten sonra değer belirir, ancak fareyi kullanırken seçili olmayan eski (yazılı) değerle yapışır.

Nasıl kontrol edilir (seçtikten sonra metin kutusu değeri)? ve neden farklı davranışlar var?

P.S: select işlevinin içindeki giriş kutusunun değerinin değiştirilmesi, kullanılamayacağından kullanılamaz!

cevap

0

ben kaymakam şekilde çözmek edemedi Yani select arama giriş alanını gizlemek ve tekrar açılan jQuery UI arama input geçirilen odağı tıklayın gizlenmiştir.START_LINKDaha başka özelleştirilmiş div görüntülemek için idare ettik.

$('#input').autocomplete({ 
    source: items, 
    focus: function(event, ui) { var text = ui.item.value; 
    $('#input').val(text); 
    return false; 
    } 
}); 

fare ile öğeyi getirdiğinizde ile metin kutusu dolduracaktır:

+0

Bunun eski olduğunu biliyorum, ama benzer bir sorunu yaşıyorum. bir jsfiddle paylaşmak için bakım? – MatteS

2

Buna benzer bir sorun yaşadım.

Klavyeyi kullanırken, metin kutusundan odak kaybolur, ancak tıklatıldığında odak metin kutusuna geri döner.

Yeniden tetiklenen giriş alanının odağında bir şeyiniz olabilir mi?

1

sollution Böyle bir şey yapabiliriz

2

otomatik tamamlama odak geri çağırma iç preventDefault() tarafından olayı durdurmak olduğunu bunu içine tıkladığınızda akım değeri ve değer zaten metin gösterilecektir

3

veya belirli

select: function(event, ui) { 
    $('#input').val(ui.item.value); 
} 
yılında ekleyebilirsiniz
İlgili konular