检索动态复选框值并传递给提交值

时间:2014-02-24 06:15:27

标签: javascript jquery html

我想将动态复选框中的值传递给提交按钮值。我已经尝试了这个fidle教程(http://jsfiddle.net/kcd6r/),我从这里得到了,不幸的是它只针对1组复选框,我的问题是如果我有超过1组复选框并将总值传递给不同的提交按钮..检查下面的HTML代码

<div id="dermal">
    <p><input type="checkbox" id="price1" name="price1[]" value="245" rel="245" >$245</p>
    <p><input type="checkbox" id="price2" name="price2[]" value="245" rel="245" >$245</p>
    <p><input type="checkbox" id="price3" name="price3[]" value="245" rel="245" >$245</p>
    <p><input type="submit" id="sum_price1" value="submit" name="submit1" /></p>
</div> 
<div id="wrinkle">
    <p><input type="checkbox" id="price4" name="price4[]" value="279" rel="279" >$279</p>
    <p><input type="checkbox" id="price5" name="price5[]" value="279" rel="279" >$279</p>
    <p><input type="submit" id="sum_price2" value="submit" name="submit2" /></p>
</div>

任何人都可以帮助我吗?

  1. 如何从复选框组中检索值
  2. 并将其传递到上面的每个提交值
  3. 谢谢

3 个答案:

答案 0 :(得分:1)

你可以这样使用,

$("#dermal input[type=checkbox]:checked").each(function() {
        sum += parseInt($(this).attr("rel"));
    });

这将只选择deramal div

中的复选框
$("#wrinkle input[type=checkbox]:checked").each(function() {
        sum += parseInt($(this).attr("rel"));
    });

这将仅选择皱纹div中的复选框

答案 1 :(得分:0)

$(document).ready(function() {
function recalculate() {
    var sum = 0;

    $("#dermal input[type=checkbox]:checked").each(function() {
        sum += parseInt($(this).attr("rel"));
    });

   $("#wrinkle input[type=checkbox]:checked").each(function() {
        sum += parseInt($(this).attr("rel"));
    });

    $("#output").html(sum);
}

$("input[type=checkbox]").change(function() {
    recalculate();
});

});

答案 2 :(得分:0)

检查这个小提琴http://jsfiddle.net/sajith/6FTbx/

$(document).ready(function() {
    function recalculate() {
        var sum1 = 0, sum2 = 0;

        $("#dermal input[type=checkbox]:checked").each(function() {
            sum1 += parseInt($(this).attr("rel"));
        });
        $("#wrinkle input[type=checkbox]:checked").each(function() {
            sum2 += parseInt($(this).attr("rel"));
        });

        $("#output1").html(sum1);
        $("#output2").html(sum2);
    }

    $("input[type=checkbox]").change(function() {
        recalculate();
    });
});