无法在Jquery中获得总共几个输入

时间:2014-05-25 15:02:29

标签: jquery

我总是在输入所有输入时遇到问题。当我在html中回显类时,它只是改变变量而不是我所有输入的总和。

 <script>$(document).ready(function(){
    var prijs = 0;
    var cas = 0;
    var voeding = 0;
$("input[name='behuizing']").click(function() {
        prijs -= cas
        cas = parseInt(this.id);
        prijs += cas;
        $('.test').html(prijs);
    });
    $("input[name='voeding']").click(function() {
        price -= voeding
        voeding = parseInt(this.id);
        price += voeding;
        $('.test2').html(price);})
;});
</script>

<body>
<p class="test"></p>
</body>

课堂测试需要总共选择所选的单选按钮。 这些是我的表格。

 <Form name ="form" Method ="Post" ACTION ="radiobutton.php">
    <Input type = 'Radio' Name ='behuizing' value= '1' id='25'>Sharkoon VS3-S red </br>
    <Input type = 'Radio' Name ='behuizing' value= '2' id='25'>Sharkoon VS3-S blue </br>
    <Input type = 'Radio' Name ='behuizing' value= '3' id='25'>Sharkoon VS3-S green </br>

Cooler Master G600 EU         Cooler Master B700

2 个答案:

答案 0 :(得分:1)

我同意@undefined,因为您需要唯一的ID,因为这是ID的用途。如果需要将元素组合在一起,请使用类。

但除此之外,我发现有两个问题:您尚未定义price并且您没有在HTML中的第二个处理程序中引用的test2

<强> Demo

答案 1 :(得分:0)

试试这个:

HTML:

<body>
    <Form name ="form" Method ="Post" ACTION ="radiobutton.php">
            <Input type = 'Radio' Name ='behuizing' value= '1' data-price='25'>Sharkoon VS3-S red </br>
            <Input type = 'Radio' Name ='behuizing' value= '2' data-price='25'>Sharkoon VS3-S blue </br>
            <Input type = 'Radio' Name ='behuizing' value= '3' data-price='25'>Sharkoon VS3-S green </br>
            <Input type = 'Radio' Name ='voeding' value= '1' data-price='65'>Cooler Master G600 EU</br>
            <Input type = 'Radio' Name ='voeding' value= '2' data-price='70'>Cooler Master B700 </br>
    </Form>
    <p class="test"></p>
</body>

使用Javascript:

var b = 0,v = 0
$("input[name='behuizing'],input[name='voeding']").change(function() {
        b=$("input[name='behuizing']:checked");
        v=$("input[name='voeding']:checked");
        b=b.length==0?0:parseInt(b.attr('data-price'));
        v=v.length==0?0:parseInt(v.attr('data-price'));
        $('.test').html(b+v);
});

http://jsfiddle.net/uE5Gf/3/