2012-07-23 21 views
20

Kullanıcı seçimini yaptıktan sonra JQuery Otomatik Tamamlama olan metin kutusunu temizlemeyi istiyorum. Seçim bittikten sonra Jquery Otomatik Tamamlama'daki metin kutusunu temizle

Ben tarafından alanını temizlemek için çalıştı:

select: function(event, ui) { 
    $(this).val(''); 
} 

Ama bu working.I jquery-1.6.4 ve jquery-ui-1.8.16 kullanıyorum değildir.

Herhangi bir Fikir?

+0

i kodunuzu fark "select" diyor. Sadece bir çözüm sunmadan önce bir metin kutusu ve bir seçim kutusu olmadığını açıklığa kavuşturmak istiyorum. – CoreyRS

+1

@CoreyRS: "select", kullanıcı otomatik tamamlama seçeneklerinden birini seçtiğinde etkinliği kancalamak için "otomatik tamamlama" ya geçtiğiniz seçeneğin adıdır. –

cevap

45

select olay meydana deneyin.

select: function(event, ui) { 
    $(this).val(""); 
    return false; 
} 

Güncelleme: T.J. gibi bunu temizlendiğini sonra saha güncellenmektedir önlemek için etkinliği iptal etmek zorunda kalacak

select: function(event, ui) { 
    this.value = ""; 
    return false; 
} 
+6

+1 Ya da sadece "this.value =" "; onların örneklerinde olduğu gibi (http://jqueryui.com/demos/autocomplete/#multiple-remote). –

1

alan güncellenir önce

select: function(event, ui) { 
input.value=''; 
} 
0

Ayrıca bu deneyebilirsiniz:, doğrudan yerine val() geçiyor value DOM özelliği güncellemek için biraz daha hızlı olduğu için aşağıdaki işaret seçerek üzerine tüm otomatik tamamlama filtrelenmiş listesini gizler

$("#your_autocomplete_sub_listview_id").children().addClass("ui-screen-hidden"); 

o.

2

jQuery UI sürümü 1.8.23 ve select olaya $(this).val(""); benim için çalıştı henüz kullanıyorum, ancak bu yaptı:

$("selector").autocomplete({ 
    // ... 
    close: function(el) { 
     el.target.value = ''; 
    } 
}); 
İlgili konular