2013-09-05 2 views
1

Я хочу функцию JQuery, в которой я могу проверить, сколько флажков были проверены с помощью имени флажка, так как весь флажок имеет такое же имя и получить значения все вместе ..Jquery проверка состояния нескольких флажков

<input type="checkbox" name="skills" value="Php"> 
<input type="checkbox" name="skills" value="Java"> 
<input type="checkbox" name="skills" value="Jquery"> 
<input type="checkbox" name="skills" value="Jscript"> 
<input type="checkbox" name="skills" value="Clanguage"> 

Я хочу wantever проверил значения в once..Please помощь ..

+0

Считаете ли вы, что каждый флажок имеет другое имя, поэтому, помимо того, сколько проверочных флажков было проверено, у вас также есть те, где? – Sikian

ответ

3

Вы можете

//get all the checked inputs with name skills 
var checked = $('input[name="skills"]:checked'); 
//number of checked items 
var checkedlength = checked.length; 
//an array containing values of all checked inputs 
var values = checked.map(function(){ 
    return this.value 
}).get(); 
+1

Очень красивый подход :) – Sikian

1

Это возможно с помощью функции $.map

var vals = $.map($('input[name="skills"]:checked').get(), function(i){ 
    return i.value; 
}); 

DEMO.

Или это (как это сделал Арун Р Джони, но с меньшим количеством кода, в пределах одной строки)

var vals = $('input[name="skills"]:checked').map(function(){ 
    return this.value 
}).get(); 

DEMO.

Или, как запятыми строка

var values = $('input[name="skills"]:checked').map(function(){ 
    return this.value 
}).get().join(); 

DEMO.

Смежные вопросы