Цитата:
Но да, не принято. |
Цитата:
Кроме того, если не менять значения размера полотная, то он отдает цена : 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, время: 12:22. |