Цитата:
Но да, не принято. |
Цитата:
Кроме того, если не менять значения размера полотная, то он отдает цена : undefined Мне кажется тут в коде что-то нужно изменить
jQuery('span.productPrice').replaceWith('<span class="productPrice">'+jQuery(".inputboxattrib option:selected").attr("title")+'</span>');
|
Вот пример решения, но есть разные решения, под твои условия.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style type="text/css"></style>
</head>
<body>
<script>
$(document).ready(function(){
jQuery(".inputA").change(function () {
var nalchikValue = parseInt($('#nalichnikField').val());
var doborValue = parseInt($('#doborField').val()); //doborField
var totalPrice = nalchikValue + doborValue;
jQuery('span.productPrice').replaceWith('<span class="productPrice">' + totalPrice + '</span>');
});
});
</script>
<select class="inputA" id="nalichnikField">
<option value="0">не выбрано</option>
<option title="220.00 руб." value="220.00 руб.">темный орех</option>
</select>
<select class="inputA" id="doborField">
<option value="0">не выбрано</option>
<option title="380.00 руб." value="380.00 руб.">10 см темный орех</option>
<option title="490.00 руб." value="490.00 руб">15 см темный орех</option>
<option title="640.00 руб." value="640.00 руб.">20 см темный орех</option>
</select>
<div>
<span class="productPrice">0</span> руб.
</div>
</body>
</html>
|
Проблема с тем что не считались другие поля со свойствами решена путем добавления такого кода.
//функция разделитель тысячных
function thousandSep(val) {
return String(val).split("").reverse().join("")
.replace(/(\d{3}\B)/g, "$1 ")
.split("").reverse().join("");
}
//функция подсчета цены
function setPriceView() {
var price = 0;
jQuery(".inputboxattrib option:selected").each(function(){ //проходимся по всем инпутам
price += parseFloat(jQuery(this).attr('title').replace(/\s+/g, '')); //парсим цену из атрибутов
});
console.log(price);
var number = parseFloat(jQuery(".inputboxquantity").val()); //получаем количество
var totalPrice = price*number; //считаем цену
totalPrice = thousandSep(totalPrice.toFixed(2)); //приводим цену к нужному виду
jQuery('span.productPrice').replaceWith('<span class="productPrice">'+totalPrice+' руб.</span>');//вставляем цену на страницу
};
jQuery(document).ready(function(){
jQuery(".inputboxattrib").change(function () {setPriceView(); }); //вешаем обработчик на изменение полотно и витража
jQuery(".inputboxquantity").change(function () {setPriceView(); }); //вешаем обработчик на изменение количества
jQuery(".quantity_box_button").click(function () {setPriceView(); }); //вешаем обработчик на кнопки изменения количества
});
Проблема теперь в том, что он все цены умножает на общее количество, а как сделать свое поле ввода количества? (сайт на Joomla и VM 1.1.9) |
| Часовой пояс GMT +3, время: 04:59. |