如何使用JavaScript检查多个复选框?

Fin*_*son 5 javascript arrays checkbox

我有多个复选框

<div class="data">    
    <span>
    <input name="employee" type="checkbox" value="Alex"/>
    <label for="employee">Alex</label>
    </span> 

    <span>
    <input name="employee" type="checkbox" value="Frank"/>
    <label for="employee">Frank</label>
    </span>    

    <span>
    <input name="employee" type="checkbox" value="Mark"/>
    <label for="employee">Mark</label>
    </span>
</div>
Run Code Online (Sandbox Code Playgroud)

如何找到所有选中的复选框并创建带有检查结果的json或数组?

lea*_*ico 9

如果你只想使用pure/vanilla JS,这是一个例子:

HTML HEAD

<script type="text/javascript">
function getCheckedCheckboxesFor(checkboxName) {
    var checkboxes = document.querySelectorAll('input[name="' + checkboxName + '"]:checked'), values = [];
    Array.prototype.forEach.call(checkboxes, function(el) {
        values.push(el.value);
    });
    return values;
}
</script>
Run Code Online (Sandbox Code Playgroud)

HTML BODY

<div class="data">    
    <span>
    <input name="employee" type="checkbox" value="Alex"/>
    <label for="employee">Alex</label>
    </span> 

    <span>
    <input name="employee" type="checkbox" value="Frank"/>
    <label for="employee">Frank</label>
    </span>    

    <span>
    <input name="employee" type="checkbox" value="Mark"/>
    <label for="employee">Mark</label>
    </span>

    <input type="button" onclick="alert(getCheckedCheckboxesFor('employee'));" value="Get Values" />
</div>
Run Code Online (Sandbox Code Playgroud)

JS小提琴链接:http://jsfiddle.net/dY372/


Tri*_*Boy 6

试试这个: 小提琴

jQuery的:

var selected = [];
$('.data input:checked').each(function() {
    selected.push($(this).val());
});
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

var checkboxes = document.getElementsByName('employee');
var selected = [];
for (var i=0; i<checkboxes.length; i++) {
    if (checkboxes[i].checked) {
        selected.push(checkboxes[i].value);
    }
}
Run Code Online (Sandbox Code Playgroud)