2012-05-19 29 views
9

मैं एक चेकबॉक्स के प्रत्येक पाश में इनपुट मूल्य प्राप्त करने के लिए कोशिश कर रहा हूँ में इनपुट मूल्य मिलता है, मैं नहीं कर सकते यह पता लगाने कैसे इस काम करने के लिए, मूल्य पहले चेकबॉक्स मूल्य के रूप में outputting रहता है पाने के लिए।jQuery एक चाहते प्रत्येक पाश

$('.custemb, input[name=cb], input[class=multadd]').live("click", function() { 

    $('input[class=multadd]:checked').each(function(index) { 
     val = index + 2; 
     valu = $('input[class=multadd]:checked').val(); 
     multiz = multiz + '&aid' + val + '=' + valu; 
    }); 
}); 

समस्या चर valu के उत्पादन में कुल मिलाकर के पहले चेकबॉक्स प्रत्येक पाश, नहीं पाश की वर्तमान चेकबॉक्स है, मैं वर्तमान मूल्य की जरूरत है।

कोई विचार?

उत्तर

31

आप this उपयोग कर सकते हैं पाश में वर्तमान तत्व तक पहुँचने के लिए:

valu = $(this).val(); 

वर्तमान तत्व भी कॉलबैक फ़ंक्शन पर एक पैरामीटर के रूप में भेजा जाता है, ताकि आप इसे ले सकते हैं:

valu = $(elem).val(); 
:
.each(function(index, elem) { 

तब पैरामीटर का उपयोग

+0

मैं पूछना चाहूँगा यदि "elem" पहले से ही इनपुट तत्व है तो मुझे मूल्य तक पहुंचने के लिए "elem" पर चयनकर्ता का उपयोग क्यों करना होगा? धन्यवाद – mkmnstr

+1

@mkmnstr: क्योंकि 'elem' तत्व है, तत्व के लिए एक jQuery वस्तु है। '$() 'फ़ंक्शन विभिन्न प्रकार के पैरामीटर लेता है, न केवल चयनकर्ता। यदि आप किसी तत्व में भेजते हैं तो यह उस तत्व युक्त एक jQuery ऑब्जेक्ट बना देगा। पहले उदाहरण में '$ (यह) 'कॉल उसी तरह फ़ंक्शन का उपयोग करता है। – Guffa

+0

स्पष्टीकरण के लिए धन्यवाद, अब सब स्पष्ट है! चीयर्स! – mkmnstr

3
$('.custemb, input[name=cb], input[class=multadd]').live("click", function() { 

    $('input[class=multadd]:checked').each(function(index) { 
     var $this = $(this); 
     val = index + 2; 
     valu = $this.val(); 
     multiz = multiz + '&aid' + val + '=' + valu; 
    }); 
}); 
+1

'चाहते प्रत्येक() को खोजने के लिए' एक दूसरा पैरामीटर 'element' जो' को this' –

+1

@AndreasNiedermair जो शायद एक की बचत होगी एक विकल्प है प्रदान करता है लुकअप और माइक्रोइनक्रिएज प्रदर्शन। अच्छी कॉल, संभोग –

+1

आप इसे नहीं मिला ... दूसरा पैरामीटर (अन्य scenarious में) आप कर सकते हैं का उपयोग कर प्रत्येक-यात्रा के लिए विधि निकालने और इसलिए शायद एक जादुई reusage परिदृश्य बनाने ... –

2

उपयोग this नियंत्रण क्लिक किए गए

$('input[class=multadd]:checked').each(function(index) { 
     val = index + 2; 
     valu = $(this).val(); 
     multiz = multiz + '&aid' + val + '=' + valu; 
    }); 
+1

या दूसरे पैरामीटर का उपयोग' element' ... –

1
var texts= $(".class_name").map(function() { 
    return $(this).val();   
}).get(); 
+0

क्यों .Get() ने अपने एक AJAX समारोह की जरूरत?। – Kivylius

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