2012-07-23 14 views
20

मैं उपयोगकर्ता द्वारा चयन किए जाने के बाद Jquery Autocomplete वाले टेक्स्टबॉक्स को साफ़ करना चाहता हूं।चयन के बाद Jquery Autocomplete में स्पष्ट टेक्स्ट बॉक्स

मैं द्वारा क्षेत्र को साफ करने की कोशिश की:

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

लेकिन यह काम कर jQuery-1.6.4 और jQuery-ui-1.8.16 उपयोग कर रहा हूँ नहीं है।

कोई विचार?

+0

मैं अपने कोड गौर कहते हैं, "चुनें"। बस यह स्पष्ट करना चाहते हैं कि समाधान देने से पहले यह एक टेक्स्टबॉक्स है और एक चयन बॉक्स नहीं है। – CoreyRS

+1

@CoreyRS: 'select' उस विकल्प का नाम है जिसे आप' स्वत: पूर्ण 'पर पास करते हैं, जब उपयोगकर्ता स्वत: पूर्ण विकल्पों में से एक का चयन करता है। –

उत्तर

45

select घटना होती है की कोशिश करो।

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

अपडेट:: टी.जे. के रूप में के बाद आप इसे मंजूरी दे दी है आप घटना को रद्द करने से बचने के लिए क्षेत्र अपडेट किया जा रहा होगा नीचे ने कहा, यह सीधे val() के माध्यम से जाने के बजाय value डोम संपत्ति अद्यतन करने के लिए थोड़ा तेज है:

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

+1 या बस 'this.value = "";', जैसा कि [उनके उदाहरण] (http://jqueryui.com/demos/autocomplete/#multiple-remote) में है। –

1

से पहले क्षेत्र अद्यतन किया जाता है

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

आप भी इस कोशिश कर सकते हैं:

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

जो का चयन पर सभी स्वत: पूर्ण फ़िल्टर की गई सूची छुपा देगा यह।

2

मैं jQuery UI संस्करण 1.8.23 और $(this).val("");select घटना पर मेरे लिए काम नहीं किया है का उपयोग कर रहा है, लेकिन ऐसा किया:

$("selector").autocomplete({ 
    // ... 
    close: function(el) { 
     el.target.value = ''; 
    } 
}); 
संबंधित मुद्दे