簡體   English   中英

如何使用JavaScript檢查多個復選框?

[英]How to check multiple checkboxes with JavaScript?

我有多個復選框

<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>

如何找到所有選中的復選框並創建帶有檢查結果的json或數組?

如果你只想使用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>

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>

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

試試這個: 小提琴

jQuery的:

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

使用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);
    }
}

使用querySelectorAll

var checked = document.querySelectorAll('[name="employee"]:checked');

支持:IE9 +。

var elements=document.getElementsByName('employee');

應該返回一個你需要的元素數組

DEMO

function checked(){

    var items=getElementsByname('checkbox');

    var selectedlist=[];

    for(var i=0; i<items.length; i++)       
    {
        if(items[i].type=='checkbox' && items[i].checked==true)                 
            selectedlist+=items[i].value+"\n";
    }

    alert(selectedlist);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM