Как использовать Jquery с click & blur? - PullRequest
2 голосов
/ 27 января 2011

У меня есть форма, которая использует тире Jquery для расчета цены билета по количеству билетов, необходимому по стоимости билета.Очень простой.

Элемент количества билетов представляет собой выпадающее меню (выберите) и работает с использованием метода click Jquery.Это отлично работает.

Проблема в том, что пользователь также может использовать клавиши вверх и вниз на своей клавиатуре.Поэтому я копирую дословно мой код и использую метод размытия вместо клика.

Мой вопрос: может ли JQuery использовать клик + размытие вместо копирования кода?

Пример

      var ticket_price = $('.fee').text();
      $('input#amount').attr('value', ticket_price);

      $('table#booking-table select').blur(function()     
      {
            var ticket_number = $(this).val();
            var ticket_price = $('.fee').text();

            var total_price = ticket_number * ticket_price;
            total_price = total_price.toFixed(2);

            var input_total_price = $('input#amount').attr('value', total_price);

            if(ticket_number == 1)
            {
                 $('tr.ticket-price td.right span.total_fee').empty().append();
            }
            else
            {
                  $('tr.ticket-price td.right span.total_fee').empty().append('* ' + ticket_number + ' tickets = ' + '<strong>&euro;' + total_price + '</strong>');
            }
      });

1 Ответ

2 голосов
/ 27 января 2011

Вы можете использовать

$(selector).bind('click blur')

Или, если вы используете jQuery 1.4:

$('#foo').bind({
  click: function() {
    doSomething(); 
  },
  blur: function() {
    doSomething();
  }
});

function doSomething() {
    var ticket_number = $(this).val();
    var ticket_price = $('.fee').text();
    // etc ...
}
...