मैं एक लूप चला रहा हूं जो टेक्स्ट मान प्राप्त करता है। मैं उन्हें एक छिपे हुए क्षेत्र में रखना चाहता हूं लेकिन वर्तमान में यह उन सभी के बजाय केवल एक आइटम जोड़ता है।

$(document).ready(function() {
  setTimeout(function() {
    $(".person-name").each(function(index) {
      var names = $(this).text();
      $('.names').val(names);
    });
  }, 1000);
});
1
user8463989 31 अक्टूबर 2019, 13:23

1 उत्तर

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

समस्या इसलिए है क्योंकि val() पहले से मौजूद किसी भी मान को अधिलेखित कर देता है। जैसे कि लूप में निर्धारित केवल अंतिम मान दिखाया जाएगा।

इसे ठीक करने के लिए आप मानों की एक सरणी बनाने के लिए map() का उपयोग कर सकते हैं, फिर इसे प्रदर्शित करते समय join() का उपयोग करें:

$(document).ready(function() {
  setTimeout(function() {
    var names = $(".item-title").map(function(index) {
      return $(this).text();
    }).get();
    $('.names').val(names.join(','));
  }, 1000);
});
1
Rory McCrossan 31 अक्टूबर 2019, 10:25