2016-06-14 9 views
1

初めてjQueryを使用してモーダルのボタンでデータを送信しようとしていますが、2回目をクリックすると2回、3回目は3回実行しますそのボタンを一度だけ実行するには、何が間違っていますか? 私のモーダルモーダル、多くの時間実行されるモーダルのボタン

`<div id="Modal" class="modal fade" role="dialog"> 
    <div class="modal-dialog"> 
    <div class="modal-content modal-sm"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">product</h4> 
     </div> 
     <div class="modal-body"> 
     <label>Quantity</label> 
     <input type="text" class="form-control" id="qty" value=""> 
     <label>Note:</label> 
     <input type="text" class="form-control" id="note" value=""> 
     </div> 
     <div class="modal-footer"> 
     <button id="" type="button" class="btn btn-primary mdismiss" data-dismiss="modal">Add</button> 
     </div> 
    </div> 
    </div> 
</div>` 

私のjQuery:

`

$('#btnbtn').click(function(){ 
    $('#Modal').modal('show'); 
    $('#addbutton').click(function(){ 
    alert(); 
    }); 
});` 
+0

「e.stopPorpagation()」 – guradio

+0

私に完全なjsコードを教えてください。 –

答えて

1

あなたは#btnbtnボタンをクリックされるたびにあなたがclickハンドラ複数の時間を追加しています。 1回のクリックでイベントハンドラーを#addbuttonに添付する必要はありません。あなたのコードは以下のように変更します。

$('#btnbtn').click(function(){ 
     $('#Modal').modal('show'); 
    }); 

    $('#addbutton').click(function(){ 
     alert(); 
    }); 
+0

yeap ...正常に動作しています。おはよう – JohnB

+0

ようこそ@VishalBorade ... ':)'! – vijayP

1

代わりに(.click使用しての)あなたがone()を使用することができ、ボタンをバインドするとき。一度だけ実行されます。

$('#btnbtn').click(function(){ 
    $('#Modal').modal('show'); 
    $('#addbutton').one('click', function(){ 
    alert(); 
    }); 
});` 
+0

ありがとうございました...今すぐご利用ください – JohnB

関連する問題