jQuery

2010-09-28 17 views
9

में दो बटनों के लिए एक ही फ़ंक्शन मेरे पास दो बटन हैं: btnAdd और btnUpdate। मैं की तरह वेब पेज में कुछ क्षेत्रों को मान्य करने के लिए बटन btnUpdate के लिए एक jQuery समारोह में लिखा है:jQuery

$(function() { 

    $('#<%=btnUpdate.ClientID %>').click(function() { 
    code here 
    }); 
}); 

मैं जब btnAdd क्लिक किया जाता है एक ही बात करना चाहता हूँ। इसलिए मुझे btnAdd के लिए एक ही फ़ंक्शन फिर से लिखना है। क्या इससे बचने का कोई और तरीका है?

(अगर मैं एक जावास्क्रिप्ट समारोह लिख सकते हैं और दोनों बटन के बटन क्लिक करें घटना में एक ही समारोह फोन है, यह ठीक है। लेकिन वहाँ किसी भी तरह से jQuery का उपयोग कर? है)

उत्तर

17

बस दो बटन का चयन, अल्पविराम से अलग: ("#add, #update").click... अपने कोड में इस तरह लग रहा है:

$(function() { 

    $('#<%=btnUpdate.ClientID %>, #<%=btnAdd.ClientID %>').click(function() { 
    code here 
    }); 
}); 
+0

आप का उल्लेख करना चाहिए कि पुनर्रचना को विकसित करने में एक बड़ा कदम है। – balexandre

7

वहाँ दो तरीके हैं।

(1) एक बार में दोनों तत्वों का चयन करें और उन्हें ईवेंट हैंडलर लागू होते हैं:

$(function() { 
    $('#<%=btnUpdate.ClientID %>, #<%=btnAdd.ClientID %>').click(function() { 
     code here 
    }); 
}); 

(2) समारोह को कोई नाम दें, बल्कि गुमनाम छोड़ने से:

function clickHandler() { 
    // code here 
} 

$('#<%=btnUpdate.ClientID %>, #<%=btnAdd.ClientID %>').click(clickHandler); 
0

jQuery एक जावास्क्रिप्ट ढांचा है, न कि दूसरी भाषा, इसलिए आप यहां एक जावास्क्रिप्ट फ़ंक्शन भी लिख सकते हैं।

function validateFields(e) { 
    code here; 
} 

$(function() { 
    $('#<%=btnUpdate.ClientID %>').click(validateFields); 
    $('#<%=btnAdd.ClientID %>').click(validateFields); 
}); 
6

हम इस Refactoring फोन और यह कुछ आप अपने मामले में सभी तरह से केवल Refactoring book

मदद कि, के बारे में और अधिक पढ़, खुद में निवेश और शानदार एक खरीद सकते हैं और है, तो आप इस करना चाहिए:

$(function() { 

    $('#<%=btnUpdate.ClientID %>').click(function() { 
     validate($this); 
    }); 
    $('#<%=btnAdd.ClientID %>').click(function() { 
     validate($this); 
    });  

}); 

function validate(myButton) 
{ 
    // code here 
} 

आप हमेशा करना चाहिए के रूप में।

लेकिन jQuery के रूप में आप कर सकते हैं कई जानकारी के साथ चयनकर्ताओं, तो तुम सब करने की जरूरत है:

$('#<%=btnUpdate.ClientID %>, #<%=btnAdd.ClientID %>').click(function() { 
    validate($this); 
}