我想获取未选中框的值
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());
});
不幸的是,这返回未定义,我不确定为什么。
答案 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