Прежде всего: Выберите значения группы флажков с помощью jQuery
Производительность действительно не должна быть проблемой, если у вас нет тысяч флажков, которые нужно пройти за один проход.Лучше всего было бы инкапсулировать флажки в div или другом родительском объекте DOM, которые затем можно использовать в jQuery для ограничения поиска в DOM:
HTML
<div id="checkboxDiv">
<input type="checkbox" name="sample" value="isAPerson" />
<input type="checkbox" name="sample" value="isADog" />
<input type="checkbox" name="sample" value="isACat" />
</div>
jQuery
var checkBoxArray=[];
$("#checkboxDiv input:checkbox").each(function(){
checkBoxArray.push([$(this).attr("value"),$(this).attr("checked")]);
});
Вот практический пример (при условии, что вы уже включили jQuery):
<script type="text/javascript">
$("#checkboxDiv input:checkbox").click(function(){
var checkBoxArray=[];
$("#checkboxDiv input:checkbox").each(function(){
checkBoxArray.push([$(this).attr("value"),$(this).attr("checked")]);
});
$("#disp").empty().append(function(){
var outputStr="";
for (a in checkBoxArray){
outputStr+=checkBoxArray[a][0]+": "+checkBoxArray[a][1]+"<br/>";
}
return outputStr;
});
});
</script>
Затем в теле:
<div id="checkboxDiv">
<input type="checkbox" name="sample" value="isAPerson" />
<input type="checkbox" name="sample" value="isADog" />
<input type="checkbox" name="sample" value="isACat" />
</div>
<div id="disp"></div>