【问题标题】:How to use Jquery to check checkbox states and do something based on conditions?如何使用 Jquery 检查复选框状态并根据条件执行某些操作?
【发布时间】:2011-05-28 15:01:25
【问题描述】:

这是我的设置。

<input type="checkbox" name="item1" value="100" class="100" />
<input type="checkbox" name="item2" value="200" class="200" />
<input type="checkbox" name="item3" value="300" class="300" />

<p>$0.00</p>

我需要的标准是: 将 P 标签更改为复选框中选择的数量 如果选中超过 1 个复选框,则将金额加在一起并显示在 P 标签中 如果 1 个或多个复选框未选中,则减去金额并显示在 P 标签中 如果没有选中或全部未选中,则在 P 标签中显示零。

到目前为止我只有这个,但显然它只显示所选框的价格,并且在我取消选中该框时不会添加也不会删除。

$("input[type=checkbox]").click(function() {
var amount = $(this).attr("class");
$("p").html("$"+amount);
});

任何帮助表示赞赏!

【问题讨论】:

    标签: jquery checkbox conditional-statements


    【解决方案1】:

    简单的尝试...

    $("input[type=checkbox]").change(function() {
        var amount = 0;
        $("input[type=checkbox]:checked").each(function(){
            amount += parseFloat(this.value,10);
        });
        $("p").html("$"+amount);
    });
    

    Crazy demo

    【讨论】:

    • 谢谢!但是,这可行,我试图从类中提取数量而不是从价值中提取......可以这样做吗?
    • this.value 更改为 this.class.. 也就是说,如果您在课堂上只有价格,那么它将按预期工作......:D
    • 好的,很接近...我已经更改了它,但现在它显示为 NaN
    • 好吧,我想通了..我不得不把它改成 parseFloat($(this).attr("class"),10);
    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多