मैं छिपे हुए div में तत्वों को कैसे अनदेखा करूं? मेरे पास दृश्यमान तत्वों और कुछ तत्वों के साथ एक रूप है जो एक div में छिपे हुए हैं ...

<form id="my-form">
  <input name="split_values[]" class="split">
  <input name="split_values[]" class="split">
  <input name="split_values[]" class="split">
  <div class="hidden-div">
    <input name="split_values[]" class="split">
  </div>
</form>

मैं सत्यापन के लिए तत्वों के माध्यम से खो रहा हूँ ...

$('#my-form *').filter(':input').each(function(){ 
  // my validation here
});

लेकिन मैं छिपे हुए div में मौजूद किसी भी मान को अनदेखा करना चाहता हूं। तो मैं केवल पहले 3 तत्वों के लिए सत्यापन देखना चाहता हूं, न कि छिपे हुए div में चौथा। चूंकि तत्व गतिशील रूप से उत्पन्न होते हैं इसलिए मेरे लिए उन्हें आईडी देना संभव नहीं है।

अग्रिम में धन्यवाद।

0
ssin 16 जून 2017, 17:51

5 जवाब

सबसे बढ़िया उत्तर

आप छिपे हुए को फ़िल्टर करने के लिए :visible छद्म चयनकर्ता का उपयोग कर सकते हैं input-खेत:

$('#my-form *').filter(':input:visible').each(function() {
   // my validation here
});
3
empiric 16 जून 2017, 17:56

यदि आप सुनिश्चित हैं कि आपकी संरचना नहीं बदलेगी, तो आप इसका उपयोग कर सकते हैं

$('#my-form>input')

जो केवल इनपुट प्राप्त करना चाहिए जो कि फॉर्म के तत्काल बच्चे हैं, divs को छोड़कर।

$('#my-form>:not(.hidden-div)')

यह मेरे-रूप के सभी बच्चे प्राप्त करेगा जो कक्षा के छिपे हुए-div . के नहीं हैं

1
Fabio Lolli 16 जून 2017, 17:54
$('#my-form *').filter(':input').each(function(){ 
 if(!$(this.parentElement).hasClass('hidden-div')){
  console.log(this);
 }
});
0
srmeile 16 जून 2017, 17:58

मैं काम करने के उदाहरण में विश्वास करता हूं, यहां यह है।

console.log($('#my-form .split:not(.hidden-div .split)').length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="my-form">
<input name="split_values[]" class="split">
<input name="split_values[]" class="split">
<input name="split_values[]" class="split">
<div class="hidden-div">
<input name="split_values[]" class="split">
</div>
</form>
0
jagdish.narkar 16 जून 2017, 18:05

Div वर्ग के चयनकर्ता के साथ एक नहीं फ़ंक्शन लागू करें

$('#my-form *').not('.hidden-div').filter(':input').each(function(){ 
  // my validation here
});
-1
Mark Baijens 16 जून 2017, 17:55