2011-12-19 18 views
32

मेरे पास एक ही नाम के साथ इनपुट चेकबॉक्स का एक सेट है और मैं यह निर्धारित करना चाहता हूं कि जावास्क्रिप्ट का उपयोग करके कौन से चेकबॉक्स चेक किए गए हैं, मैं इसे कैसे प्राप्त कर सकता हूं? मैं जानता हूँ कि इस प्रकार सभी चेक बॉक्स प्राप्त करने का एकमात्र तरीका देखें:सभी चेक किए गए चेकबॉक्स कैसे प्राप्त करें

var checkboxes = document.getElementsByName('mycheckboxes'); 
+1

हाँ वहाँ पहले से ही कर रहे हैं लेकिन उन सभी को, समाधान JQuery के साथ है, और मैं एक सादे जे एस समाधान की जरूरत है, कि अंतर है। –

+0

भी निम्नलिखित पर एक नज़र डालें http://stackoverflow.com/questions/1543017/javascript-check-all-checkboxes-in-a-table-asp-net – Lijo

उत्तर

68

एक साधारण पाश जो checked संपत्ति का परीक्षण करती है और एक अलग सरणी के लिए जाँच की लोगों संलग्न कर देता है के लिए। वहां से, यदि आवश्यक हो तो आप checkboxesChecked की सरणी को संसाधित कर सकते हैं।

// Pass the checkbox name to the function 
function getCheckedBoxes(chkboxName) { 
    var checkboxes = document.getElementsByName(chkboxName); 
    var checkboxesChecked = []; 
    // loop over them all 
    for (var i=0; i<checkboxes.length; i++) { 
    // And stick the checked ones onto an array... 
    if (checkboxes[i].checked) { 
     checkboxesChecked.push(checkboxes[i]); 
    } 
    } 
    // Return the array if it is non-empty, or null 
    return checkboxesChecked.length > 0 ? checkboxesChecked : null; 
} 

// Call as 
var checkedBoxes = getCheckedBoxes("mycheckboxes"); 
+1

मैं इस समाधान का समर्थन करता हूं। मेरे लिए +1 यह सादा जावास्क्रिप्ट है और यह काम करता है। एक शुद्ध जेएस समाधान –

+2

+1 इसे एक उपयोग जेएस विधि के रूप में कैसे बनाया जाए जो चेक किए गए मान की सरणी वापस कर देगा, और शून्य अगर कोई चेक नहीं किया गया है? –

+0

होने के लिए –

45

में IE9 +, क्रोम या फ़ायरफ़ॉक्स आप कर सकते हैं:

var checkedBoxes = document.querySelectorAll('input[name=mycheckboxes]:checked'); 
संबंधित मुद्दे