У меня есть серия списков флажков, и я хочу предупредить значения всех выбранных флажков при щелчке глобальной кнопки. Кроме того, если есть более "правильный" способ сделать это, а не использовать входные данные или, может быть, использовать форму или ряд форм, дайте мне знать.
HTML:
<input type="checkbox" class="A" value="0">0</input>
<input type="checkbox" class="A" value="1">1</input>
<input type="checkbox" class="B" value="0">0</input>
<button onclick='return selectedvalues();'>GO!</button>
JavaScript:
function selected values(){
//alert all selected values of checkboxes of classes A and B
}
function selectedValues(){
//alert all selected values of checkboxes of classes A and B
var $checkboxes = $("input[type='checkbox']:checked");
$checkboxes.each(function(){
alert($(this).attr("class") + " " + $(this).val());
});
}
Эта функция будет делать трюк.
Хотя вы уже приняли ответ, у меня было несколько моментов, и я подумал, что предлагаю эту интерпретацию:
function findChecked() {
var group = document.getElementsByName(this.name),
checked = [].map.call(group, function(a){
a.nextElementSibling.style.color = a.checked ? 'limegreen' : '#000';
if (a.checked) {
return a;
}
}).filter(function(a){
return 'undefined' !== typeof a;
});
return checked;
}
[].forEach.call(document.querySelectorAll('input[type="checkbox"]'), function(a){
a.addEventListener('change', findChecked);
});
Рекомендации:
Это должно сделать это
function selected_values() {
var messages = "";
$("form input[type='checkbox']:checked").each(function(){
// Go through all checkboxes that are checked
messages += $(this).val() + "\n";
});
alert(messages);
}