2012-04-16 12 views
9

पर क्लिक करें मुझे <asp:LinkButton> के क्लिक को ट्रिगर करने की आवश्यकता है।jQuery: ट्रिगर <एएसपी: लिंकबटन>

example1

निम्नलिखित बात काम कर रहा है:

<asp:Button ID="myBtn" runat="server" /> 

$("#myBtn").trigger("click"); 

Example2

अब LinkButton के साथ एक ही बात नहीं काम कर रहे है:

<asp:LinkButton ID="myBtn" runat="server" /> 

$("#myBtn").trigger("click"); 

मुझे की आवश्यकता है एएसपी की क्लिक घटना को ट्रिगर करें: लिंकबटन

उत्तर

5

एक CssClass जोड़े आपके LinkButton पर संपत्ति और अपने चयनकर्ता के रूप में इसका उपयोग करें।

अन्य उत्तर ASP.NET ClientID का उपयोग कर LinkButton है, जो ठीक है की प्रदान की गई आईडी प्राप्त करने के लिए सुझाव दिया है, लेकिन यह मतलब है कि आप पृष्ठ में अपनी स्क्रिप्ट इनलाइन के लिए है, और स्क्रिप्ट केवल इस 1 बटन के लिए काम करेंगे ।

कक्षा का उपयोग करने का अर्थ है कि आप एक ही घटना को ट्रिगर करने वाले कई तत्व प्राप्त कर सकते हैं, और इसका मतलब है कि आपको इसे काम करने के लिए इनलाइन सर्वर-साइड कोड का उपयोग करने की आवश्यकता नहीं है।

<asp:LinkButton ID="myBtn" runat="server" CssClass="myLink" /> 

$(".myLink").trigger("click"); 
2

इस लाइन

$("#<%= myBtn.ClientID %>").trigger("click"); 
1

आप उन दोनों को जो work.Try नहीं है इसे बदलने के लिए के लिए एक ही ID दे रहे हैं का प्रयोग करें।

आप मास्टर पृष्ठ का उपयोग कर रहे हैं तो जैसा कि नीचे दिखाया का उपयोग करें:

<script type="text/javascript"> 
      $(document).ready(function() { 
       $("#<%=myBtn.ClientID%>").click(function() { 
       $('#<%=hyperlinkID.ClientID%>').trigger('click'); 
      }); 
    </script> 

यदि आप मास्टर पृष्ठ का उपयोग नहीं करते तो नीचे दिए गए कोड का उपयोग कर रहे हैं:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#myBtn").click(function() { 
      $('#hyperlinkID').trigger('click'); 
     }); 
</script> 
11

$("#myBtn").trigger("click"); 

के बजाय

इस

eval($("#myBtn").attr('href')); 

अधिक जानकारी के लिए इस उत्तर देखें का प्रयास करें: https://stackoverflow.com/a/943441/1207991

+0

हम्म में .... वास्तव में कभी नहीं 'eval) का उपयोग करने (' एक अच्छा कारण होना चाहिए। – Spudley

+0

@ स्प्डले मेरे पास मूल पोस्ट के समान प्रश्न था और मेरे वेब गुरु मित्र ने उल्लेख किया कि eval() भी बुरा था लेकिन अन्य उत्तरों वास्तव में मेरे लिए काम नहीं करते थे। ऐसा कुछ ऐसा करने के लिए काम करेगा जो कि लिंकबटन द्वारा जोड़ा गया href जावास्क्रिप्ट के साथ क्या कर रहा है, 'वेबफॉर्म_DoPostBackWithOptions (नया WebForm_PostBackOptions ("# <% = myBtn.ClientID%>", "" सत्य, " खोज सत्यापन "," ", झूठी, सत्य)); 'सही सत्यापन समूह (अन्य चीजों के साथ) का उपयोग करना। – Gloopy

+0

आपको लिंकबटन के साथ eval() का उपयोग नहीं करना चाहिए, या आप व्यूस्टेट डेटा खो देंगे। मैंने इसे एक प्रोजेक्ट में इस्तेमाल किया है और जब तक मैंने खोज नहीं किया तब तक मुझे काफी सिरदर्द दिया। पोस्टबैक पर व्यूस्टेट को संरक्षित करने के लिए, आप eval का उपयोग नहीं कर सकते हैं। –

1

कभी eval() क्योंकि सुरक्षा लीक और असुरक्षा की का उपयोग करें। ऐसा करने का सबसे अच्छा तरीका मूल जेएस का उपयोग करने के साथ इस तरह की घटना पर क्लिक करें।

$('[selector]')[0].click(); 

अपने मामले

$(".myLink")[0].click(); 
संबंधित मुद्दे