【问题标题】:Get checkbox values on checked and not checked获取选中和未选中的复选框值
【发布时间】:2026-01-30 12:35:01
【问题描述】:

我有一些复选框,我需要获取值并计算新元素,但我需要它来计算何时被选中和何时未被选中。

<div id="dodaci">

<input name="checkboxes1" id="checkboxes-1" value="100" type="checkbox">
  <input name="checkboxes2" id="checkboxes-2" value="150" type="checkbox">
  <input name="checkboxes3" id="checkboxes-3" value="150" type="checkbox">
  <input name="checkboxes4" id="checkboxes-4" value="120" type="checkbox">
  <input name="checkboxes5" id="checkboxes-5" value="70" type="checkbox">
</div>

<div id="cena1">750<div>

cena1中的value需要加上checkbox的值,不勾选的时候需要取减?

这是我目前拥有的 jQuery

$(function() { 
    $('input[type="checkbox"]').bind('click',function() {
    $('#dodaci :checkbox:checked').each(function() {
    $('#cena1').append(', '+ $(this).val()); });
    });
});

【问题讨论】:

  • 复选框应该有唯一的名称并且需要唯一的ID。

标签: javascript jquery checkbox bind


【解决方案1】:

我猜你需要类似下面的代码:

$(function() { 
$('input[type="checkbox"]').bind('click',function() {
    var value = parseInt($(this).val());
     var cenaNum = parseInt($('#cena1').text());
    if(this.checked){
         $('#cena1').text(value+cenaNum);          
    }
    else {
        $('#cena1').text(cenaNum-value);
    }    
});
});

这是小提琴的工作链接:

Demo : Jsfiddle link

【讨论】:

  • 对不起,我的错
【解决方案2】:

使用$('#id:checked'); 它返回truefalse,所以不要将它绑定到each() 方法 id 我的意思是一个独特的ID,比如&lt;input name="checkboxes1" id="checkboxes-1"&gt;

编辑

变化:

$('#cena1').append(', '+ $(this).val());

类似于:(没有测试!!

if ($('#id:checked')) {
    $('#cena1')
        .append(
            parseInt($(this).text(), 10) + 
            parseInt($('#id:checked').val(), 10)
    );
} else {
    $('#cena1')
        .append(
            parseInt($(this).text(), 10) - 
            parseInt($('#id').not(':checked').val(), 10)
    );
}

编辑二

这与您的问题直接无关,但最好将inputs与其ID命名相同

所以不是:

<input name="checkboxes1" id="checkboxes-1">

但是:

<input name="checkboxes-1" id="checkboxes-1">

【讨论】:

  • 好的,如何点击计算数值,其他点击取减?
  • 修复了 txanks,但之前的解决方案更好:
  • 是的,myne 又快又脏 ;-)
最近更新 更多