Подсчет количества number и checkbox

248
10 апреля 2018, 04:58

Есть несколько чекбоксов, все выбранные чекбоксы суммируются. Но при вводе количество этажей нужно: количество умножить на цену услуги, то есть id="count2" на id="lift2" и сложить с итоговой суммой. Чекбоксы можно выбирать одновременно.

$('#count2').keyup(calculate2); 
 
function calculate2() { 
 
  $('input.a1').on("click", function() { 
 
    var sum2 = 0; 
    var sum3 = 0; 
    // подсчет при нажатии на чекбоксы 
    if ($("#lift").is(':checked')) sum2 += 200; 
    if ($("#net_lift").is(':checked')) sum2 += 150; 
    //подсчет количество этажей 
    var count2 = $("#count2").val(); 
    sum3 = count2 * sum3; //нужно значение сложить к final_price_yslug и подставлять значение в #lift2 
 
    $('#final_price_yslug').html(sum2); 
  }); 
} 
 
$('select,input').change(function() { 
  calculate2(); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
Подъём при присутствии лифта 
<input type="number" id="count2" name="Количество2" value="1" />этажей 
<input type="checkbox" id="lift" class="a1" name="Подъем с лифтом" /> 
<span id="lift2">200</span> 
<br> при отсутствии лифта этаж 
<input type="checkbox" id="net_lift" class="a1" name="Подъем без лифта" /> 150 
<br> Итого: 
<span id="final_price_yslug">0</span> руб

Answer 1

Мне кажется, что Вам нужно такой код

jQuery(function($) { 
  var calc = function() { 
    var price = 0; 
    $('#elevator .a1:checked').each(function() { 
      price += parseInt($(this).val()); 
    }); 
    price *= parseInt($('#count2').val()); 
    $('#final_price_yslug').text(price); 
  }; 
  $('#elevator .a1').change(calc); 
  $('#elevator #count2').on('keyup change', calc); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id="elevator"> 
  Подъём при присутствии лифта 
  <input type="number" id="count2" name="Количество2" value="1" />этажей 
  <input type="checkbox" id="lift" class="a1" value="200" /> 
  <span id="lift2">200</span> 
  <br> при отсутствии лифта этаж 
  <input type="checkbox" id="net_lift" class="a1" value="150" /> 150 
</div> 
<br> Итого: 
<span id="final_price_yslug">0</span> руб

READ ALSO
Vue.js серверный рендеринг или пререндеринг

Vue.js серверный рендеринг или пререндеринг

В документации к vue, говориться про серверный рендеринг и про пререндеринг(https://githubcom/chrisvfritz/prerender-spa-plugin)

221
js запросы на сайт

js запросы на сайт

как нажать к примеру на кнопку на чужом сайте <span class="left_label inl_bl">кнопка</span>со своего ресурса или локального компьютера с помощью javascript?...

193