Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2013, 22:40
Новичок на форуме
Отправить личное сообщение для bond1211 Посмотреть профиль Найти все сообщения от bond1211
 
Регистрация: 17.12.2013
Сообщений: 7

Плюс\минус и value с умножением
Здравствуйте, разобраться в своей проблеме не могу.
И так, есть вполне стандартная хреновина с +- увеличивающим или уменьшающим значение value в input
<div class="plus_minus_icon plus"><img src="/catalog/view/theme/default/images/up.gif" alt=""/></div>
<input type="text" class="num" name="quantity" id="product_buy_quantity" oninput="recalculateprice();" size="2" value="<?php echo $minimum; ?>" />
<div class="plus_minus_icon minus"><img src="/catalog/view/theme/default/images/down.gif" alt=""/></div>

Сам js:
<script type="text/javascript">
$(document).ready(function (){
	$(".plus_minus_icon").unbind('click');
	$('.plus_minus_icon').live("click", (function() {
					var Value = $(this).parent().find("input").val();
					if ($(this).hasClass("plus")) {
					  Value = parseFloat(Value) + 5
					} else {
					  if (Value > 1) {
						  Value = parseFloat(Value) - 5
					  }
					}
										$(this).parent().find("input").val(Value);
				   var input_quantity = Number($('#product_buy_quantity').attr('value'));	
	}));
});</script>


Всё работает, всё прекрасно, едем дальше.
Делаю скрипт, который считает число * на значение value, если в валуе я ручками цифру наберу, всё хорошо, если стрелками - то не работает.

Приведу скрипт считающий сумму

function recalculateprice()
{
    var main_price = Number($('#formated_price').attr('price'));
    var input_quantity = Number($('#product_buy_quantity').attr('value'));
 main_price *= input_quantity;
}

ну и выводит результат там в конце в id="formated_price"
В общем, по отдельности 2 скрипта работают, один прибавляет\убавляет циферки, второй правильно берёт значение и умножает его на значение в value ( то что ввели ручками).
Вопрос в том, как объединить эти 2 скрипта, тобишь нажали + в value увеличилось значение, второй скрипт взял новое значение и перемножил.
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2013, 23:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

bond1211,

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  <script>
$(document).ready(function () {
    $('.plus_minus_icon').on("click", function () {
        var $sum = $('#product_buy_quantity'),
            Value = $sum.val();
        if ($(this).hasClass("plus")) {
            Value = parseFloat(Value) + 5
        } else {
            if (Value > 1) {
                Value = parseFloat(Value) - 5
            }
        }
        $sum.val(Value);
        $sum.change();
    });
    $('#product_buy_quantity').on("change input", function () {
    var main_price = Number($('#formated_price').data('price'));
    var input_quantity = Number($('#product_buy_quantity').val());
    main_price *= input_quantity;
    $('#formated_price').text(main_price) })


});


  </script>
</head>

<body>

<div class="plus_minus_icon plus">&uarr;</div>
<input type="text" class="num" name="quantity" id="product_buy_quantity"  size="2" value="10" />
<div class="plus_minus_icon minus">&darr;</div>
<div id="formated_price" data-price="100">100</div>
</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2013, 17:56
Новичок на форуме
Отправить личное сообщение для bond1211 Посмотреть профиль Найти все сообщения от bond1211
 
Регистрация: 17.12.2013
Сообщений: 7

Спасибо большое за ответ, но стрелками теперь выдаёт NaN
В ручную всё так же работает..
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2013, 18:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от bond1211
но стрелками теперь выдаёт NaN
здесь или у вас?
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2013, 18:16
Новичок на форуме
Отправить личное сообщение для bond1211 Посмотреть профиль Найти все сообщения от bond1211
 
Регистрация: 17.12.2013
Сообщений: 7

Сообщение от рони Посмотреть сообщение
здесь или у вас?
У меня, в Вашем исправлении всё прекрасно работает, не могу понять где именно у себя накосячил..
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2013, 18:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

bond1211,
непроставили значение value изначально ?
вариант без установки value
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  <script>
$(document).ready(function () {
    $('.plus_minus_icon').on("click", function () {
        var $sum = $('#product_buy_quantity'),
            Value = parseFloat($sum.val())||0;
        if ($(this).hasClass("plus")) {
            Value += 5
        } else {
            if (Value > 1) {
                Value -= 5
            }
        }
        $sum.val(Value);
        $sum.change();
    });
    $('#product_buy_quantity').on("change input", function () {
    var main_price = Number($('#formated_price').data('price'));
    var input_quantity = Number($('#product_buy_quantity').val());
    main_price *= input_quantity;
    $('#formated_price').text(main_price) });
    $('#product_buy_quantity').change()
});


  </script>
</head>

<body>

<div class="plus_minus_icon plus"><img src="http://javascript.ru/forum/images/smilies/victory.gif" alt=""/></div>
<input type="text" class="num" name="quantity" id="product_buy_quantity"  size="2" value="" />
<div class="plus_minus_icon minus"><img src="http://javascript.ru/forum/images/smilies/nono.gif" alt=""/></div>
<div id="formated_price" data-price="100"></div>
</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2013, 18:43
Новичок на форуме
Отправить личное сообщение для bond1211 Посмотреть профиль Найти все сообщения от bond1211
 
Регистрация: 17.12.2013
Сообщений: 7

Нет, всё проставлено, поясню:
<input type="text" class="num" name="quantity" id="product_buy_quantity" oninput="recalculateprice();" size="2" value="<?php echo $minimum; ?>" />

<?php echo $minimum; ?> этим выводится минимальное число, которое можно заказать, сейчас это 5, и можно стрелками увеличивать +-5
С первым вашим вариантом страница загружается, стоит значение 5, показывается цена, жмём на +, значение 10, вместо цены NaN.
Тоесть работать то должно, но не работает, так же там много других скриптов, может где-то конфликт.
Вот файлик без ваших подсказок, может я совсем дурак, вдруг вы поймёте..
На самом деле уже 6той день пытаюсь, гугл меня уже не любит
Ответить с цитированием
  #8 (permalink)  
Старый 18.12.2013, 18:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от bond1211
Вот файлик без ваших подсказок, может я совсем дурак
может и я совсем дурак, но как скачать по вашей ссылке?
Ответить с цитированием
  #9 (permalink)  
Старый 18.12.2013, 19:11
Новичок на форуме
Отправить личное сообщение для bond1211 Посмотреть профиль Найти все сообщения от bond1211
 
Регистрация: 17.12.2013
Сообщений: 7

Сообщение от рони Посмотреть сообщение
может и я совсем дурак, но как скачать по вашей ссылке?
Извините пожалуйста, не проверил http://webfile.ru/12c314f4f2c94d55a3933b5402dc9510

Последний раз редактировалось bond1211, 18.12.2013 в 19:13. Причина: не ту ссылку дал
Ответить с цитированием
  #10 (permalink)  
Старый 18.12.2013, 19:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

bond1211,
не дублируйте код и неиспользуйте одинаковые id и желательно не php а живой код что у вас на выходе
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюки с умножением! misteralexander Общие вопросы Javascript 6 21.05.2013 21:46
Помогите с умножением списка на чекбокс Resident Общие вопросы Javascript 18 14.11.2010 22:38