2012-11-28 12 views
13

के बाद फायर ऑनचेंज ईवेंट मैं एक समय में स्वत: पूर्ण और विनिमय ईवेंट करने की कोशिश कर रहा हूं।ऑटोकंपलेट

मतलब: मैं एक स्वत: पूर्ण टेक्स्टबॉक्स में विनिमय घटना को आग लगाना चाहता हूं। जब मैं कीबोर्ड से टेक्स्टबॉक्स में कुछ लिखता हूं और टेक्स्टबॉक्स के बाहर क्लिक करता हूं तो ईवेंट फायरिंग का आदान-प्रदान करता हूं, लेकिन जब मैं ऑटो सुझाव से कुछ चुनता हूं तो नाम बदलना ईवेंट फायरिंग नहीं होता है।

मेरे एचटीएमएल कोड

<div style="width: 34%"> 
    Person Name:<input id="txt0" type="text" onchange="SaveData('txt0')" class="userSearch" placeholder="Helped Person" /> 
</div> 

जावास्क्रिप्ट कोड

function AutoComplete() { 
//Autocomplete added to the textbox. 
$('.userSearch').autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      url: "CTC.aspx/GetMemberName", 
      data: "{ 'prefixText': '" + request.term + "' }", 
      dataType: "json", 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      success: function (data) { 
       response(data.d) 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       alert('Error occured while autocomplete'); 
      } 
     }); 
    }, 
    minLength: 1 
}); 
} 

function SaveData(textBoxId) { 
    alert(textBoxId); 
} 

मैं onchange घटना आग स्वत: पूर्ण से चुना के बाद चाहते हैं।

कृपया

अग्रिम धन्यवाद।

उत्तर

11

आप इस लक्ष्य को हासिल करने के लिए स्वत: पूर्ण विजेट पर परिवर्तन घटना का उपयोग कर सकते हैं। http://api.jqueryui.com/autocomplete/#event-change

उदाहरण के लिए:

function AutoComplete() { 
    //Autocomplete added to the textbox. 
    $('.userSearch').autocomplete({ 
     source: function (request, response) { 
     // your ajax code 
     }, 
     minLength: 1, 
     change: function (event, ui) { SaveData(); } 
    }); 
} 
+0

मैं ऐसा करना चाहता हूं कि चयन के बाद यह अस्थायी घटना को आग लगाएगा। –

+1

इस मामले में, आप चुनिंदा घटना का उपयोग कर सकते हैं: http://api.jqueryui.com/autocomplete/#event-select। – kdrvn

+0

दोनों उत्तरों ने मुझे धन्यवाद –

2
$('.userSearch').trigger('change'); 

कि "परिवर्तन" घटना को ट्रिगर किया जाएगा

+0

स्वचालित रूप से यह घटना को बदलने के लिए नहीं जाना होगा ?? –

+0

कोड को अपनी "सफलता" और "त्रुटि" भाग – goFrendiAsgard

+0

पर रखें, दोनों उत्तरों ने मुझे धन्यवाद –

0

KDRVN सही है।

$(".selector").autocomplete({ 
    select: function(event, ui) {} 
}); 

$("#models").autocomplete({source: models, select: function(event, ui) {alert('flippy');} }); 

नहीं के रूप में इनमें से किसी भी:

$('#models').on('select', function() { alert('waawoo'); }); 
    $('#models').on('change', function() { alert('feefaa'); }); 
onchange="updateModels(this)" 
2
$('#1').autocomplete({ 
    select: function(event, ui) { 
     "use strict"; 
     alert('select event called'); 
     }, 
    source: ["ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme"], 

    minLength: 1, 
    change: function(event, ui) { 
     if (ui.item) { 
      alert("ui.item.value: " + ui.item.value); 
     } else { 
      alert("ui.item.value is null"); 
     } 
     console.log("this.value: " + this.value); 
    } 
}); 

हो जाएगा ताकि दोनों का चयन करते हैं और स्वत: पूर्ण के लिए ईवेंट बदल सकते हैं।

आप भी बेला की जांच कर सकते http://jsfiddle.net/74wLyd8v/

संबंधित मुद्दे