JQuery плагин запускается несколько раз - PullRequest
1 голос
/ 08 марта 2011

У меня есть плагин, который сравнивает 2 поля в форме и делает оповещения в зависимости от результатов. это работает хорошо, за исключением случаев, когда у меня есть несколько форм. Сколько бы форм у меня ни было на странице, плагин запускается столько раз. Это проблема с пространством имен?

$(document).ready(function() {
  (function( $ ){
    $.fn.totalPressedQuantityCheck = function(){
      var form = $(this).parents('form');
      var total_pressed_field = form.find('input[id*="total_pressed"]');
      var variation_quantity_field = form.find('input[id*="quantity"]');

      var total_pressed_amount = parseInt(total_pressed_field.val());
      var variation_quantity_amount = parseInt(variation_quantity_field.val());

      if ( !isNaN(total_pressed_amount) && !isNaN(variation_quantity_amount) ){

        if ( total_pressed_amount < variation_quantity_amount ){
          alert("PROBLEM");
        }
      }
    }
  })( jQuery );

  $('input[id*="total_pressed"]').live('blur', function(){
    $(this).totalPressedQuantityCheck();
  });
  $('input[id*="quantity"]').live('blur', function(){
    $(this).totalPressedQuantityCheck();
  });

FIX одна из этих вещей ... мои js оказались в моем цикле и несколько раз визуализировались в HTML. Спасибо за сайт jsfiddle. Я был в состоянии легко дистиллировать свой код и сузить проблему с ним. Хотел бы я знать об этом сайте раньше!

Ответы [ 2 ]

0 голосов
/ 05 апреля 2011

, так что мои js оказались в моем цикле и несколько раз отображались в HTMLдур.и спасибо за сайт jsfiddle.я был в состоянии легко дистиллировать свой код и сузить проблему с ним.Я хотел бы знать об этом сайте раньше!

0 голосов
/ 08 марта 2011

Я считаю, что ваша проблема в том, что когда вы связываете плагин

 $('input[id*="total_pressed"]').live('blur', function(){
    $(this).totalPressedQuantityCheck();
  });

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

...