एक निश्चित वर्ग नाम के साथ सभी चेक किए गए चेकबॉक्स प्राप्त करने के लिए jquery का उपयोग करना


215

मुझे पता है कि मैं इसका उपयोग करके किसी पृष्ठ पर सभी चेक किए गए चेकबॉक्स प्राप्त कर सकता हूं:

$('input[type=checkbox]').each(function () {
    var sThisVal = (this.checked ? $(this).val() : "");
});

लेकिन मैं अब इसका उपयोग एक ऐसे पृष्ठ पर कर रहा हूं जिसमें कुछ अन्य चेकबॉक्स हैं जिन्हें मैं शामिल नहीं करना चाहता। उपरोक्त चेकबॉक्स को देखने के लिए मैं उपरोक्त कोड को कैसे बदलूंगा कि उन पर एक निश्चित वर्ग है?


क्या मैं classइसके बजाय कहने के लिए शीर्षक अपडेट करूंगा name?
रस कैम

@Russ कैम - पहले से ही किया
Leora

$ ('इनपुट [प्रकार = चेकबॉक्स] :checked') भी काम करेगा।
सुपर कूल

जवाबों:


392

$('.theClass:checkbox:checked')आपको कक्षा के साथ सभी चेक किए गए चेकबॉक्स देगा theClass


9
अच्छा लगा। इसके अलावा, $ ('.Class: चेकबॉक्स: नहीं (: चेक किया गया)') सभी अनियंत्रित हो जाएंगे।
वेणुगोपाल एम।

क्या मैं नाम के साथ सभी चेकबॉक्स के लिए ऐसा कर सकता हूं?
फ्लफीबाईंग

मैं जाँच किए गए तत्वों पर एक और वर्ग कैसे जोड़ सकता हूँ? मैं चेक किए गए इनपुट तत्वों पर सीमा दिखाना चाहता हूं।
नजम अस साकिब

120
$('input:checkbox.class').each(function () {
       var sThisVal = (this.checked ? $(this).val() : "");
  });

एक उदाहरण प्रदर्शित करने के लिए।

:checkboxचेकबॉक्स के लिए एक चयनकर्ता है (वास्तव में, आप inputचयनकर्ता के हिस्से को छोड़ सकते हैं , हालांकि मुझे आला मामले मिले जहां आपको लाइब्रेरी के पुराने संस्करणों में ऐसा करने के अजीब परिणाम मिलेंगे। मुझे यकीन है कि वे बाद के संस्करणों में तय हो गए हैं)। .classतत्व वर्ग विशेषता युक्त चयनकर्ता है class


9
Jquery के नोटों पर: चेकबॉक्स [प्रकार = "चेकबॉक्स"] के साथ चिपके रहने की सलाह देता है। $ ('[टाइप = "चेकबॉक्स"]। क्लास') .... या $ ('इनपुट [टाइप = "चेकबॉक्स"]। क्लास')
टीस्मिथ

@ क्या आपके पास एक संदर्भ है?
रस कैम

9
मैंने पढ़ा है कि यहाँ से: api.jquery.com/checkbox-selector ... "अतिरिक्त नोट्स" के तहत
TSmith

73

अप्रचलित .mapउदाहरण:

var checkedVals = $('.theClass:checkbox:checked').map(function() {
    return this.value;
}).get();
alert(checkedVals.join(","));

3
$ ('input.theClass: check'); मैप (फंक्शन () {return this.value}) मिलेगा। () जॉइन (',');
फ़ेडिर RYKHTIK

@ फ़ेडर: आपका कमांड on,onपरिणाम के रूप में देता है ('हर चेकबॉक्स के लिए' पर)
Jay

@ जय आपको कोमा से अलग स्ट्रिंग में अपना मूल्य प्राप्त करने के लिए अपने चेक बॉक्स के मूल्य विशेषताओं को निर्धारित करने की आवश्यकता है
कामरान अली

21
$('input.yourClass:checkbox:checked').each(function () {
    var sThisVal = $(this).val();
});

इससे वर्ग नाम "yourClass" के सभी चेकबॉक्स मिल जाएंगे। मैं इस उदाहरण की तरह इसे इस्तेमाल करता है के बाद से jQuery चयनकर्ता जाँच की एक सशर्त जाँच कर के बजाय। व्यक्तिगत रूप से मैं मूल्य को संग्रहीत करने के लिए एक सरणी का उपयोग करूंगा, फिर उन्हें आवश्यकतानुसार उपयोग करें, जैसे:

var arr = [];
$('input.yourClass:checkbox:checked').each(function () {
    arr.push($(this).val());
});

यदि सरणी में मानों को संग्रहीत करने की आवश्यकता होती है, तो .mapअधिक सुखद विकल्प हो सकता है, जैसा कि kimim79 के उत्तर द्वारा सचित्र है।
डुप्लोड

1
धन्यवाद :) मुझे सभी चेक किए गए चेकबॉक्स खोजने की जरूरत है और आपका जवाब यही करता है।
ufk

13

यदि आपको एक सरणी के रूप में सभी चेक किए गए चेकबॉक्स का मूल्य प्राप्त करने की आवश्यकता है:

let myArray = (function() {
    let a = [];
    $(".checkboxes:checked").each(function() {
        a.push(this.value);
    });
    return a;
})()


8

मुझे यकीन नहीं है कि यह आपके विशेष मामले के लिए मदद करता है, और मुझे यकीन नहीं है कि अगर आपके मामले में, आप जिन चेकबॉक्सों को शामिल करना चाहते हैं, वे सभी एक ही फॉर्म या डिव या टेबल का हिस्सा हैं, लेकिन आप हमेशा सभी चेकबॉक्स का चयन कर सकते हैं एक विशिष्ट तत्व के अंदर। उदाहरण के लिए:

<ul id="selective">
 <li><input type="checkbox" value="..." /></li>
 <li><input type="checkbox" value="..." /></li>
 <li><input type="checkbox" value="..." /></li>
 <li><input type="checkbox" value="..." /></li>
</ul>

फिर, निम्न jQuery का उपयोग करते हुए, यह केवल उस आईडी के भीतर चेकबॉक्स के माध्यम से जाता है जिसमें आईडी = "चयनात्मक" होता है।

$('#selective input:checkbox').each(function () {
 var sThisVal = (this.checked ? $(this).val() : "");
});


7

आप कुछ इस तरह से उपयोग कर सकते हैं:
HTML:

<div><input class="yourClass" type="checkbox" value="1" checked></div>
<div><input class="yourClass" type="checkbox" value="2"></div>
<div><input class="yourClass" type="checkbox" value="3" checked></div>
<div><input class="yourClass" type="checkbox" value="4"></div>


JQuery:

$(".yourClass:checkbox").filter(":checked")


यह 1 और 3 के मूल्यों का चयन करेगा।


यह सबसे अच्छा जवाब है।
मार्कोस बुर्के

7

एक सरणी में सभी मान प्राप्त करने का सरल तरीका

var valores = (function () {
    var valor = [];
    $('input.className[type=checkbox]').each(function () {
        if (this.checked)
            valor.push($(this).val());
    });
    return valor;

})();

console.log(valores);

7

आप इस तरह की कोशिश कर सकते हैं

let values = (function() {
                let a = [];
                $(".chkboxes:checked").each(function() {
                    a.push($(this).val());
                });
                return a;
            })();

4
<input type="checkbox" id="Checkbox1" class = "chk" value = "1" />
<input type="checkbox" id="Checkbox2" class = "chk" value = "2" />
<input type="checkbox" id="Checkbox3" class = "chk" value = "3" />
<input type="checkbox" id="Checkbox4" class = "chk" value = "4" />
<input type="button" id="demo" value = "Demo" />

<script type = "text/javascript" src = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
    $("#demo").live("click", function () {
        $("input:checkbox[class=chk]:checked").each(function () {
            alert("Id: " + $(this).attr("id") + " Value: " + $(this).val());
        });
    });
</script>

http://www.jqueryfaqs.com/Articles/Get-values-of-all-checked-checkboxes-by-class-name-using-jQuery.aspx


3

मुझे पता है कि इस सवाल पर पहले से ही शानदार जवाब है, लेकिन मैंने इसे ब्राउज़ करते समय पाया और मुझे इसका उपयोग करना बहुत आसान है। सोचा था कि मैं किसी और की तलाश करूंगा।

HTML:

<fieldset>
    <!-- these will be affected by check all -->
    <div><input type="checkbox" class="checkall"> Check all</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
</fieldset>
<fieldset>
    <!-- these won't be affected by check all; different field set -->
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
    <div><input type="checkbox"> Checkbox</div>
</fieldset>

jQuery:

$(function () {
    $('.checkall').on('click', function () {
        $(this).closest('fieldset').find(':checkbox').prop('checked', this.checked);
    });
});

संदर्भ: jQuery के साथ सबसे आसान "सभी की जांच करें"


1
$(document).ready(function(){
    $('input.checkD[type="checkbox"]').click(function(){
        if($(this).prop("checked") == true){
            $(this).val('true');
        }
        else if($(this).prop("checked") == false){
            $(this).val('false');
        }
    });
});

कृपया अपने उत्तर को समझाने के लिए एक टिप्पणी जोड़ने पर विचार करें ताकि
बिना पढ़े-लिखे के

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