2012-01-12 10 views
0

みんなjqueryのワイルドカード文字に問題があります。可能であればお手伝いください。jQuery - ワイルドカード文字* - キャッシング

私はjQueryのように、クリックをIDにバインドするための関数を使用しています。進む_10、進む_11。今、私が最初にproceed_10をクリックすると、すべてうまく動作します。しかし、もし私がもう一度proceed_10としてidを持つイメージをクリックすると、それは2回実行されます。次に、id_creation_5を持つ他の進行イメージをクリックすると、3回実行されます。ここでは、マイナーコードスニペットは、検討することである。

$("[id*='applybut_']").live('click',function(){ 

     var idfinder = null; var currid = null; 
     idfinder = $(this).attr('id').split('_'); 
     currid = idfinder[1]; 
     $.ajax({ 
      url: "someurl", 
      type: 'POST', 
      dataType: 'json', 
      data: {}, 
      error: function(data){ }, 
      success: function(data){ 
       if(data.success == true) 
       { 
        messyhtml+= '<img src="'+proceedimgsrc+'" id="proceed_'+currid+'" style="cursor:pointer;">'; 
        $("[id*='proceed_']").live('click',function(){ 
         var foostr = $(this).attr('id').split('_'); 
         var fooid = foostr[1]; 
         var barid = $('input[name="bar_id"]:checked').val(); 
          if(fooid != '' && barid != '')  //This loops executes twice,thrice, and so on... 
          { 
           $.ajax({ 
            url: "someurl", 
            type: 'POST', 
            dataType: 'json', 
            data: {'fooid':fooid,'barid':barid}, 
            error: function(data){ }, 
            success: function(data){ 
             if(data.success == true) { 
              // 
             } else if(data.success == false) { 
              // 
             } 
            } 
           }); 
          }        

        }); 
        $(".popcontainer").html(messyhtml); 
       } 
      } 
     }); 
    }); 

答えて

0

の行を...

$("[id*='proceed_']").live('click',function(){ 

...それはのためのイベントハンドラ内に埋め込まれていますと、クリックが行われるたびに実行されています1 apply_but_ *がクリックされるたびに - ...これの

$("[id*='applybut_']").live('click',function(){ 

結末は、あなたがすべてのproceed_ *の項目に複数の(同一の)ハンドラをサブスクライブしていることです。あなたの行動。

+0

ありがとうHolie、私は古いライブイベントを殺して逃したことを知った。 –

+0

ありがとうAman。 upvoteは高く評価されますが、それは私がここにいる理由ではありません:) –

1

この行は私の問題を解決しました:。

$( "[ID * = '進み_']")死にます();

関連する問題