2010-01-24 26 views
6

मैंने कभी jquery के साथ तत्वों के माध्यम से looped नहीं किया है और यह कुछ मदद के साथ बहुत अच्छा होगा।पाश?

मेरी डोम लगता है:

<div class="section"> 

    <div class="group"> 
     <div class="comment"> 
      <input class="comment" type="text" /> 
      <br /> 
     </div> 
     <div class="link"> 
      <input class="link" type="text" /> 
      <input class="link" type="text" /> 
      <br /> 
     </div> 
    </div> 

    <div class="group"> 
     <div class="comment"> 
      <input class="comment" type="text" /> 
      <input class="comment" type="text" /> 
      <br /> 
     </div> 
     <div class="link"> 
      <input class="link" type="text" /> 
      <br /> 
     </div> 
    </div> 

</div> 

कैसे मैं पाठ इनपुट क्षेत्र (वर्ग = टिप्पणी और वर्ग = लिंक) में सभी मान प्राप्त करने के लिए कोड लिखने से करते हैं। टेक्स्ट इनपुट फ़ील्ड की विभिन्न संख्या वाले समूह होंगे।

धन्यवाद!

उत्तर

24
$(":input.comment, :input.link").each(function() { 
    alert($(this).val()); // or this.val 
}); 

देखें:

+1

वैल एक समारोह है,:। इनपुट पाठ फ़ील्ड)

इस बेला देखें।() –

+0

धन्यवाद केली, यह एक गति से संबंधित चूक थी। बस इसे ठीक किया गया, – karim79

+1

'इनपुट: किसी भी प्रकार के इनपुट तत्व से मेल खाता है, जिसमें चयन शामिल है, इसलिए मुझे लगा कि इसे शामिल करना उपयोगी होगा। बेशक, पाठ इनपुट को 'इनपुट [प्रकार = टेक्स्ट]' के रूप में चुना जा सकता है, लेकिन – karim79

5

यह टिप्पणी या लिंक के एक वर्ग के साथ सभी तत्वों का चयन करता है, और इसके मूल्य सचेत करता है।

$(".comment, .link").each(function() { 
    alert($(this).val()); 
}); 

वैकल्पिक रूप से, आप इनपुट प्रकार पर चुन सकते हैं:

$("input[type='text']").each(function() { 
    alert($(this).val()); 
}); 
+0

नाइटपिक नहीं है, लेकिन आपको 'इनपुट' और' [टाइप = टेक्स्ट] 'विशेषता फ़िल्टर,' इनपुट [टाइप = टेक्स्ट] 'के बीच की जगह खोनी होगी। – karim79

+1

फिक्स्ड। अच्छी नज़र। –

0

कोशिश:

$(":input.comment, :input.link", "div.group").each(function() { 
    alert($(this).val()); 
}); 
0

निम्नलिखित वाक्य रचना मेरे लिए स्पष्ट है (हालांकि यह कार्यात्मक अन्य उत्तर के बराबर है) है :

var elementList = $(":input.comment, :input.link"); 
$.each(elementList, function(i, input){ 
    alert($(input).val()); 
}); 
1

सवाल का जवाब।

ऑनलोड के लिए पहली पंक्ति: हमें प्रत्येक पाश का उपयोग करके लूप की आवश्यकता है। टेक्स्ट फ़ील्ड को लूप करने के लिए दूसरी पंक्ति, मान लीजिए कि आपको लूप को एक अलग इनपुट प्रकार की आवश्यकता है - बस उस के साथ प्रतिस्थापित करें तीसरी पंक्ति - यह सुनिश्चित करना खाली नहीं है चौथी रेखा - आपका व्यवसाय तर्क होगा (इस मामले में, मैं पार्स करने की कोशिश कर रहा हूं ताकि आप कोष्ठक जरूरत http://jsfiddle.net/5FVtR/86/

$(document).ready(function() { 
    $(":text").each(function() { 
     if($(this).val() !='') { 
      $(this).val()=parseFloat($(this).val()).toFixed(2) 
      return false; 
     } 
    });