/* basicPrice - podstawowa cena dataPrefix - nazwa atrybutu data z ktorego zaciagamy ceny place - wskaźnik jquery na element wyświetlajacy cene */ var basicPrice; function setBasicPrice(place){ basicPrice = parseInt($("body").find("[data-basic-price]").data('basic-price') || 90); $(place).html(basicPrice); return false; } function sumPrice(dataPrefix){ var sum = parseInt(basicPrice); var elements = $("body").find("[data-"+dataPrefix+"]:checked"); $.each(elements, function( index, value ) { sum += parseInt($(value).data(dataPrefix)); }); return sum; } function printSumPrice(place, dataPrefix){ $(place).html(sumPrice(dataPrefix)); return false; } //ustawiamy poczatkowa cene setBasicPrice('#sumPrice'); $('[name=vehicle]') .on( "click", function() { printSumPrice('#sumPrice','price'); });
<input type="hidden" data-basic-price="1000" id="basic-price" /> <input type="checkbox" name="vehicle" id="bike" value="Bike" data-price="2000"><label for="bike">I have a bike</label><br /> <input type="checkbox" name="vehicle" id="car" value="Car" data-price="3000"><label for="car">I have a car</label><br /> <div id="sumPrice"></div>
label{ cursor:pointer; }