获取未选中复选框的值

时间:2019-02-28 07:19:16

标签: javascript jquery

我想获取未选中框的值

HTML:

<br> 
<input class="computer_type" id="laptop" type="checkbox" checked> Laptops
<br>
<input class="computer_type" id="desktop" type="checkbox" checked> Desktops

javascript:

function get_computer_type() {
    $('.computer_type:not(:checked)').map(function() {
        return $(this).attr('id');
    }).get();

}

$('.computer_type').change(function() {
    console.log(get_computer_type());
});

不幸的是,这返回未定义,我不确定为什么。

1 个答案:

答案 0 :(得分:3)

该函数不返回任何内容,因此返回 undefined (在JavaScript中,如果该函数未显式返回任何内容,则默认情况下它将返回 undefined )。您必须返回从函数中的map()获得的结果。

function get_computer_type() {
  return $('.computer_type:not(:checked)').map(function() {
     return $(this).attr('id');
  }).get(); 
}

$('.computer_type').change(function(){
 console.log(get_computer_type());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<br> 
<input class="computer_type" id="laptop" type="checkbox" checked> Laptops
<br>
<input class="computer_type" id="desktop" type="checkbox" checked> Desktops