JQuery में एक चुनिंदा टैग में विकल्प टैग की संख्या की गिनती


159

मैं <option>एक में s की संख्या कैसे गिनूं<select> jQuery का उपयोग करके DOM तत्व गिनूं?

<select data-attr="dropdown" id="input1">
  <option value="Male" id="Male">Male</option>
  <option value="Female" id="Female">Female</option>
</select>

की संख्या खोजना चाहता हूं <option><select> DOM तत्व में टैग , क्योंकि इसके बाद मैं उस ड्रॉप-डाउन बॉक्स से संबंधित विकल्प मान के साथ इनपुट फ़ील्ड की संख्या के साथ सेटिंग्स पैनल को खोलना चाहता हूं और पूर्वावलोकन में इसे फिर से बदलना चाहता हूं। पैनल।

उपरोक्त ड्रॉप-डाउन बॉक्स मेरे पूर्वावलोकन पैनल में है जो jQuery द्वारा निर्मित है।

जवाबों:



51

W3C समाधान:

var len = document.getElementById("input1").length;

5
आधुनिक जावास्क्रिप्ट के साथ इस पद्धति के लिए एक भिन्नता होगी var len = document.querySelector("#input1").length;
जैकब नेल्सन

22

आप या तो लंबाई संपत्ति का उपयोग कर सकते हैं और lengthफिर बेहतर perfomance है size

$('#input1 option').length;

या आप जैसे आकार समारोह का उपयोग कर सकते हैं

$('#input1 option').size(); 

डेमो


2
यह कुछ भी नहीं प्रदान करता है 2009 से जवाब भी प्रदान नहीं किया।
टाइलर

18

आपका प्रश्न थोड़ा भ्रमित करने वाला है, लेकिन यह मानते हुए कि आप किसी पैनल में विकल्पों की संख्या प्रदर्शित करना चाहते हैं:

<div id="preview"></div>

तथा

$(function() {
  $("#preview").text($("#input1 option").length + " items");
});

यकीन नहीं होता कि मैं आपका बाकी सवाल समझ गया हूं।


14

एक बहु-चयन विकल्प बॉक्स में, आप $('#input1 :selected').length;चयनित विकल्पों की संख्या प्राप्त करने के लिए उपयोग कर सकते हैं । यह बटन को निष्क्रिय करने के लिए उपयोगी हो सकता है यदि कुछ निश्चित न्यूनतम विकल्प नहीं मिले हैं।

function refreshButtons () {
    if ($('#input :selected').length == 0)
    {
        $('#submit').attr ('disabled', 'disabled');
    }
    else
    {
        $('#submit').removeAttr ('disabled');
    }
}

मैं $('#input1 :selected').length; प्रलेखन api.jquery.com/length का
लियोनार्ड काकंडे

6

ठीक है, मुझे कुछ समस्याएं थीं क्योंकि मैं अंदर था

$('.my-dropdown').live('click', function(){  
});

मैंने अपने पृष्ठ के अंदर कई गुणा किया था, इसलिए मैंने कक्षा का उपयोग किया।

जब मैंने इसे क्लिक किया तो मेरा ड्रॉप डाउन अपने आप ही एक अजाक्स अनुरोध से भर गया था, इसलिए मेरे पास केवल तत्व $ (यह) था

इसलिए...

मुझे करना था:

$('.my-dropdown').live('click', function(){
  total_tems = $(this).find('option').length;
});

6

सबसे अच्छा रूप यह है

$('#example option').length

यह कोड-ओनली (कम-मूल्य) समाधान 4 साल पहले सादीखासन द्वारा प्रदान किया गया था। का उपयोग length9 साल पहले करीम79 द्वारा पोस्ट किया गया था। यह उत्तर सुरक्षित रूप से पृष्ठ से शुद्ध किया जा सकता है क्योंकि यह पूरी तरह से बेमानी है।
मिकमैकुसा

-1

एक और दृष्टिकोण जो उपयोगी हो सकता है।

$('#select-id').find('option').length

1
सवाल केवल चयनित <option> एस की गिनती के लिए नहीं पूछ रहा है ।
user4642212
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.