2011-12-25 15 views
5

मेरे पास नीचे दिए गए समूह में फ़ाइल इनपुट फ़ील्ड हैं। मैं उन सभी को फ़ील्ड की आवश्यकता होगी।JQuery चेक इनपुट फ़ाइल

<!-- file upload group --> 
<div class="Fieldset FileUpGroup"> 
    <span class="Legend">File Upload Group: (required)</span> 
    <input name="fileUploads[]" type="file"> 
    <input name="fileUploads[]" type="file"> 
    <input name="fileUploads[]" type="file"> 
</div> 

मेरे पास निम्नलिखित JQuery मान्य करने के लिए है, लेकिन यह केवल पहले को मान्य करता है।

$('.FileUpGroup').each(function() { 
    if($(this).find('input[type=file]').val() == '') { 
     Response('- Upload file not selected!', true); 
     $(this).addClass('Error').fadeOut().fadeIn(); 
     return false; 
    } 
    else { 
     $(this).removeClass('Error'); 
    } 
}); 

धन्यवाद!

उत्तर

9

तुम गलत तत्व पर each() उपयोग कर रहे हैं:

$('input[type="file"]').each(function() { 
    var $this = $(this); 
    if ($this.val() == '') { 
     Response('- Upload file not selected!', true); 
     $this.addClass('Error').fadeOut().fadeIn(); 
     return false; 
    } else { 
     $this.removeClass('Error'); 
    } 
}); 
+0

धन्यवाद! यह कमाल काम करता है। – user1108996

+0

मदद करने के लिए खुशी :) – AlienWebguy

+0

महान काम किया। बहुत बहुत धन्यवाद। –

0

.val() केवल पहले मान देता है।
आपके लूप में ($('.FileUpGroup').each) केवल एक आइटम के लिए सक्रिय है ... DIV.FileUpGroup तत्व।
$('.FileUpGroup input[type=file]') सभी आइटम पाएंगे और फिर उन्हें एक समय में
यहां एक उदाहरण दिया जाएगा। उम्मीद है कि मैं उपयोगी रहा हूँ।

$('.FileUpGroup input[type=file]').each(function() { 
    if($(this).val() === '') { 
     // wabba dabba do 
    } 
    else { 
     // badda bawwa do 
    } 
}); 
संबंधित मुद्दे