2011-05-29 17 views
31
<input type="checkbox" name="options[]" value="1" /> 
<input type="checkbox" name="options[]" value="2" /> 
<input type="checkbox" name="options[]" value="3" /> 
<input type="checkbox" name="options[]" value="4" /> 
<input type="checkbox" name="options[]" value="5" /> 

मैं चेकबॉक्स के मूल्यों के साथ सरणी कैसे बना सकता हूं?jquery एकाधिक चेकबॉक्स सरणी

नोट: (महत्वपूर्ण) मुझे [1, 2, 3, 4, 5] जैसे सरणी की आवश्यकता है और ["1", "2", "3", "4", "5"] जैसी नहीं है।
नोट: लगभग 50 चेकबॉक्स हैं।

क्या कोई मेरी मदद कर सकता है? कृप्या!

धन्यवाद!

+0

संभावित सरणी [किसी सरणी में सभी चयनित चेकबॉक्स प्राप्त करना] (http://stackoverflow.com/questions/590018/getting-all-selected-checkboxes-in-an-array) – Duvrai

उत्तर

62
var checked = [] 
$("input[name='options[]']:checked").each(function() 
{ 
    checked.push(parseInt($(this).val())); 
}); 
55

आप $.map() (या यहां तक ​​.map() समारोह है कि एक jQuery वस्तु पर चल रही है) का उपयोग जाँच मूल्यों की एक सरणी प्राप्त करने के लिए कर सकते हैं। एकल (+) ऑपरेटर एक नंबर करने के स्ट्रिंग डाली जाएगा

var arr = $.map($('input:checkbox:checked'), function(e,i) { 
    return +e.value; 
}); 

console.log(arr); 

यहाँ आप अपने इनपुट बॉक्स से प्रत्येक के लिए एक वर्ग है, तो an example

+0

+1 यूनरी ऑपरेटर का उपयोग करने के लिए +1। –

+4

+1 यह उत्तर मेरे से अधिक सुरुचिपूर्ण है। – Dormouse

+0

इसे साझा करने के लिए धन्यवाद! क्या आप जानते हैं कि इनपुट में चेक किए गए मानों को कैसे जोड़ा जाए? मैंने '$ ('# test') की कोशिश की। Val (arr.join (','));' – CyberJunkie

2
var checkedString = $('input:checkbox:checked.name').map(function() { return this.value; }).get().join(); 
2

है, तो आप

के रूप में यह कर सकते हैं
 var checked = [] 
     $('input.Booking').each(function() 
     { 
      checked.push($(this).val()); 
     }); 
संबंधित मुद्दे