2012-10-11 8 views
5

ऑटोकंपलेट एक्स्टेंडर चयन ईवेंट को कैप्चर करने का सबसे अच्छा तरीका क्या है, क्योंकि नियंत्रण में यह ईवेंट नहीं है?ऑटोकंपलेट एक्स्टेंडर का चयन करें ईवेंट

यहां नमूना है जिसके बारे में मैं बात कर रहा हूं। मेरे पास दो टेक्स्टबॉक्स हैं (स्थान 1 टेक्स्टबॉक्स, स्थान 2 टेक्स्टबॉक्स) जुड़े ऑटोकंपलेट एक्स्टेंडर नियंत्रण के साथ। यह हिस्सा अच्छी तरह से काम करता है। अब समस्या तब होती है जब उपयोगकर्ता चयन फॉर्म बनाता है किसी भी AutoCompleteExtender मुझे इस घटना को पकड़ने की आवश्यकता है और स्थान 1 और स्थान 2 के बीच दूरी की गणना करने की आवश्यकता है। परिणाम स्वचालित रूप से DistanceTextBox पर आबादी होनी चाहिए। कोई अच्छा sugesstions? मैं बस आशा है कि यह बक्सें के लिए onchange घटना के साथ खत्म नहीं होता ...

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
     <ContentTemplate> 
      <asp:Label ID="TitleLabel" runat="server" Text='<% $resources:AppResource,LocationStart %>' 
       CssClass="OneColumnLabel"></asp:Label>:<br /> 
      <asp:TextBox ID="Location1TextBox" runat="server" CssClass="TwoColumnMiddleLongText" 
       ValidationGroup="Edit" AutoPostBack="true"></asp:TextBox>* 
      <asp:RequiredFieldValidator ID="TitleRequiredFieldValidator" runat="server" ControlToValidate="Location1TextBox" 
       Display="None" ErrorMessage='<% $resources:AppResource,LocationRequired %>' ValidationGroup="Edit"></asp:RequiredFieldValidator> 
      <ajaxToolkit:AutoCompleteExtender runat="server" ID="AutoCompleteExtender1" TargetControlID="Location1TextBox" 
       ServiceMethod="GetCompletionList" ServicePath="TravelOrder.aspx" MinimumPrefixLength="1" 
       CompletionInterval="300" UseContextKey="True"> 
      </ajaxToolkit:AutoCompleteExtender> 
      <asp:Label ID="Label7" runat="server" Text='<% $resources:AppResource,LocationArrival %>' 
       CssClass="OneColumnLabel"></asp:Label>:<br /> 
      <asp:TextBox ID="Location2TextBox" runat="server" CssClass="TwoColumnMiddleLongText" 
       ValidationGroup="Edit"></asp:TextBox>* 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="Location2TextBox" 
       Display="None" ErrorMessage='<% $resources:AppResource,LocationRequired %>' ValidationGroup="Edit"></asp:RequiredFieldValidator> 
      <ajaxToolkit:AutoCompleteExtender runat="server" ID="AutoCompleteExtender2" TargetControlID="Location2TextBox" 
       ServiceMethod="GetCompletionList" ServicePath="TravelOrder.aspx" MinimumPrefixLength="1" 
       CompletionInterval="300" UseContextKey="True"> 
      </ajaxToolkit:AutoCompleteExtender> 
      <asp:Label ID="Label8" runat="server" Text='<% $resources:AppResource,Distance %>' 
       CssClass="OneColumnLabel"></asp:Label>:<br /> 
      <asp:TextBox ID="DistanceTextBox" runat="server" CssClass="OneColumnText" ValidationGroup="Edit"></asp:TextBox>* 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="DistanceTextBox" 
       Display="None" ErrorMessage='<% $resources:AppResource,DistanceRequired %>' ValidationGroup="Edit"></asp:RequiredFieldValidator> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

उत्तर

6

आप एक लक्ष्य पाठ बॉक्स से AutoPostBack="true" निकाल सकते हैं, TextChanged घटना पर सदस्यता लें और नीचे फ़ंक्शन का उपयोग itemSelected एक्सटेंडर के ग्राहक घटना OnClientItemSelected="autoCompleteEx_ItemSelected" के लिए हैंडलर के रूप में:

<script type="text/javascript"> 
    function autoCompleteEx_ItemSelected(sender, args) { 
      __doPostBack(sender.get_element().name, ""); 
    } 
</script> 
+0

यूरी आपने अपना दिन बचा लिया है! यह वही है जो मैं खोज रहा था, अच्छा और प्रभावशाली! :) –

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