Пересчитать вывод html при нажатии кнопки

Я использую ползунок диапазона jQuery для расчета месячной цены. У меня также есть две кнопки для переключения между месячной и годовой ценой. У меня все работает, кроме одной большой вещи: когда я нажимаю кнопку для переключения между моделями ценообразования, я хочу, чтобы выходная цена пересчитывалась мгновенно. Если я нажимаю кнопку, а затем перемещаю ползунок, он пересчитывается, но мне нужно, чтобы он пересчитывался сразу при нажатии кнопки. Я пробовал много, много вещей, в том числе: поместил вычисление в обработчик кликов (из-за чего он вообще не работал), я попробовал 'reload();' метод, я попытался добавить calculate(); и более. Я уверен, что мне не хватает чего-то легкого, но я не могу найти правильные условия поиска, чтобы найти ответ. Я смоделировал codepen: http://codepen.io/redbranchmedia/pen/jEEqEw

Вот мой JS:

var pricepermonth;
pricepermonth = 129;

$(".m2mbtn").on('click', function() {
  $(".m2mbtn").addClass('active');
  $(".annualbtn").removeClass('active');
  pricepermonth = 129;
  return false;
});

$(".annualbtn").on('click',  function() {
  $(".annualbtn").addClass('active');
  $(".m2mbtn").removeClass('active');
  pricepermonth = 99;
  return false;
});

$('.priceslider').slider({ 
    max: 11,
    min: 1,
    value: 2,
    slide: function(e,ui) {
      var calcprice;
      calcprice = (ui.value * pricepermonth);

        $('.pricingtable').html("$" + calcprice + "/mo");
    }
  });

person jphogan    schedule 19.11.2014    source источник


Ответы (1)


http://jsfiddle.net/L897s0jL/

ДОБАВИТЬ setPrice() в .m2mbtn и .annualbtn по функции клика

function setPrice(pricepermonth)
{
    var calcprice;
    var value=$s.slider( "value" );
      calcprice = (value * pricepermonth);

        $('.pricingtable').html("$" + calcprice + "/mo");
}
person dm4web    schedule 19.11.2014
comment
Благодарю вас! Это сработало отлично! У меня есть дополнительная проблема, которую я еще не смог решить. Если значение ползунка больше 10, я не хочу выводить цену, я хочу выводить какой-то другой html. Я собираюсь открыть еще один вопрос о том, что я пробовал и где я застрял, но подумал, что спрошу и вас, так как вы были так полезны с этим. Спасибо! - person jphogan; 19.11.2014
comment
Вот сообщение, которое я создал для другого вопроса: stackoverflow.com/questions/27022020/ - person jphogan; 19.11.2014
comment
Ха-ха! Чертова работа мешает мне помочь. :) Спасибо еще раз - person jphogan; 20.11.2014