如何从表单中获取所有选中的元素?

时间:2019-05-02 11:00:29

标签: javascript jquery html

我正在尝试使用js从此表单中获取所有选中的项目。 我查看了以前的解决方案,但找不到适合我的东西。

<form id="checkform" class="container" style="margin-top:20px;">
    <input type="checkbox" name="MX" value="MX" onclick="func(checkform)"> MX <br>
    <input type="checkbox" name="SPF" value="SPF" onclick="func(checkform)"> SPF <br>
    <input type="checkbox" name="DMARC" value="DMARC" onclick="func(checkform)"> DMARC <br>
    <input type="checkbox" name="VRFY" value="VRFY" disabled> VRFY<br>
    <input type="checkbox" name="SMTPTLS" value="SMTPTLS" disabled> SMTPTLS<br>
    <input type="checkbox" name="OpenRelay" value="OpenRelay" disabled> OpenRelay<br>
    <input type="checkbox" name="ReverseDNS" value="ReverseDNS" disabled> ReverseDNS <br>
    <input type="checkbox" name="BlackList" value="BlackList" disabled> Black List <br>

</form>

im希望获得包含所有选中元素名称的列表。

1 个答案:

答案 0 :(得分:5)

使用find("input:checkbox:checked")来获取表单中的复选框,希望这会有所帮助

$('#checkform').submit(function(e){
e.preventDefault();
var list=[]
$(this).find("input:checkbox:checked").each(function(e){
list.push($(this).val())

})
console.log(list)

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="checkform" class="container" style="margin-top:20px;">
    <input type="checkbox" name="MX" value="MX"  > MX <br>
    <input type="checkbox" name="SPF" value="SPF"  > SPF <br>
    <input type="checkbox" name="DMARC" value="DMARC"  > DMARC <br>
    <input type="checkbox" name="VRFY" value="VRFY" disabled> VRFY<br>
    <input type="checkbox" name="SMTPTLS" value="SMTPTLS" disabled> SMTPTLS<br>
    <input type="checkbox" name="OpenRelay" value="OpenRelay" disabled> OpenRelay<br>
    <input type="checkbox" name="ReverseDNS" value="ReverseDNS" disabled> ReverseDNS <br>
    <input type="checkbox" name="BlackList" value="BlackList" disabled> Black List <br>
<button class="getchecked">Submit</button>
</form>