2009-11-23 8 views
6

के लिए autopostback अनुकरण मैं एक साधारण चेकबॉक्स, साथ उत्पन्न होते हैं:asp.net MVC के: सरल चेकबॉक्स

<%= Html.CheckBox("myCB")%> 

मैं इस के लिए एक onChange हैंडलर जोड़ सकते हैं कि एक प्रस्तुत करता है?

उत्तर

4

चेकबॉक्स प्रपत्र चेक बॉक्स अंतर्गत आता है प्रस्तुत करने के लिए एक onClick हैंडलर जोड़ें ... त्वरित, clickHandler codeless उदाहरण:

<%= Html.CheckBox("myCB", 
    new { onClick = "$(this).parent('form:first').submit();" }); 

(उदाहरण निश्चित रूप से सटीकता के लिए चयनित नहीं)

+0

लेकिन ठीक काम करता है :) – chris

+0

यदि यह कोड काम करना चाहिए, तो चेकबॉक्स को 'फ़ॉर्म' के नीचे सही होना चाहिए। उपयोग करें: '$ (यह)। माता-पिता ('फॉर्म: पहला') सबमिट करें(); 'इसके बजाए। – RickardN

2

यदि आपके पास केवल एक ही रूप है, और jQuery उपयोग नहीं कर रहे हैं (आप वैसे, होना चाहिए) इस प्रयास करें:

<%= Html.CheckBox("myCB", 
new { onClick = "document.form.submit();" }); 
+1

यह करीब है, वास्तविक वाक्यविन्यास document.forms है [0] .submit() – chris

0

मैं करूंगा अत्यधिक इस समर्थन करने के लिए, क्योंकि यह मैं बनाता है jQuery उपयोग करने की अनुशंसा चयनकर्ता को आईडी या कक्षा-आधारित होने के कारण आपकी साइट पर एक चेकबॉक्स में व्यवहार को जोड़ना आसान नहीं है। फिर आप पृष्ठ पर या बाहरी .js फ़ाइल में कहीं भी स्क्रिप्ट डाल सकते हैं।

<script language="javascript" type="text/javascript"> 
    $('#myCB').click(function() { $(this).parent('form:first').submit(); }); 
</script> 

वैकल्पिक रूप से, चयनकर्ता वर्ग-आधारित (या उस मामले के लिए कोई विशेषता) हो सकता है। यहां अधिक जानकारी: http://docs.jquery.com/Selectors

+0

मैं शायद अन्य परियोजनाओं पर इसका उपयोग कर समाप्त कर दूंगा, लेकिन अभी के लिए यह केवल एक ही जगह है - धन्यवाद। – chris