2014-12-14 3 views
2

Я нашел следующее учебное пособие и применил его к моему коду How to sum radio button values using either Javascript or jQuery?, но это не сработало для меня. У пользователя есть выбор плана, и по его желанию можно загрузить персонализированный логотип за 49,99 доллара. Я хотел, чтобы цена за логотип составляла 49,99 доллара, если да, или 0,00 руб., Если нет, чтобы добавить к выбору плана и получить итоговую сумму. Тем не менее, код в предыдущем учебнике, в котором я опубликовал ссылку, сработал, но что я делаю неправильно в своем коде?Как найти общую сумму значений переключателей с помощью jQuery/JavaScript?

Fiddle http://jsfiddle.net/1s4gzbys/4/

<div class="control-group questions"> 
    <div class="field-control"> 
    <p>Would you like to download your company logo?</p> 
     <div class="input-wrapper"> 
      <div class="answer"><input class="btn-checkbox-choice" type="radio" name="groupeight" value="$49.99"/><label>Yes</label></div> 
<input class="btn-checkbox-choice" type="radio" name="groupeight" value="$0.00" /><label>No</label> 
      </div> 
     </div> 
</div> 
<span id="checkout-title">Checkout</span> 
    <div class="plan-wrapper"> 
     <label id="silver-plan"><input class="btn-checkbox-plan" type="radio" name="groupnine" value="$699" /><label>Silver Plan</label><span id="silver-plan-price">$699</span> </label> 
     <label id="gold-plan"><input class="btn-checkbox-plan" type="radio" name="groupnine" value="$999" /><label>Gold Plan</label><span id="gold-plan-price">$999</span></label>     
    </div> 
    <div class="logo-wrapper"> 
     <span id="personalized-logo">Personalized Logo</span> 
     <output type="number" name="price" id="output-choice"> 
    </div> 
    <div class="total-wrapper"> 
     <div class="wrapper-b"> 
      <span id="total">Total</span> 
       <output type="number" name="price" id="output"></output> 
     </div> 
    </div> 

.js

$(document).ready(function(){ 

$('input').iCheck({ 
    checkboxClass: 'icheckbox_square-blue', 
    radioClass: 'iradio_square-blue', 
    increaseArea: '20%' // optional 
}); 

    // $('input').on('ifChecked', function(event){}); 
     function calcprice() { 
     var sum = 0; 
    if(($(".btn-checkbox-choice").is(':checked')) && ($(".btn-checkbox- plan").is(':checked'))).each(function(){ 
     sum += parseInt($(this).val(),10); 
    }); 
     $("output[name=price]").val(sum); 
    } 
    $().ready(function(){ 
    $("#output").change(function(){ 
    calcprice() 
    }); 

    }); 
}); 
+1

Post код вы в настоящее время u петь, чтобы получить сумму (и только это). – techfoobar

ответ

0

Вы можете сделать следующее:

$(document).ready(function(){ 
    $("input[type=radio]").change(function(){ 
     if ($("input[name=groupnine]:checked").val() && $("input[name=groupeight]:checked").val()){ 
      p1 = $("input[name=groupnine]:checked").val().substring(1)*1; 
      p2 = $("input[name=groupeight]:checked").val().substring(1)*1; 
      $("#output").val("$"+(p1+p2)); 
     } 
     else{ 
      //alert('no') 
     } 
     // alert($(this).val()); 
    }) 
}); 

Проверить эту DEMO: http://jsfiddle.net/1s4gzbys/15/

Смежные вопросы