2014-03-07 62 views
0

我已经在MVC中实现了一个应用程序。我已经使用jquery创建了messagebox。当我点击按钮的消息框出现。Jquery点击事件的问题

<button type="button" class="btn btn-primary" id="btnDispatch" >Dispatch</button> 

我jQuery代码是

$(document).ready(function() { 


     $('#btnDispatch').click(function() { 

      $('body').append('<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true" id="btnClose"> × </button> <h5 id="dataConfirmLabel">Dispatch Alert</h5> </div><div class="modal-body"><h5>This order is dispatched.</h5><br/></div><div class="modal-footer"><button id="btnOk" type="submit" class="btn btn-primary" data-dismiss="modal" aria-hidden="true" >OK</button> </div></div> <div class="modal-backdrop"></div>'); 


      $('#dataConfirmModal').find('.modal-body').text($(this).attr('data-confirm')); 

      $('#dataConfirmModal').modal({ show: true }); 

      $('#btnClose').dialog('close'); 

      $('#btnOk').click(function() { 

       var url = "http://localhost:65344/Dispatch"; 
       $(location).attr('href', url); 

      }); 
     }); 


    }); 

我想点击ok按钮后返回调度的索引页。但ok按钮和x按钮不能在这里工作。 有没有解决方法? ! [在这里输入的形象描述] [1]

回答

1

您需要使用event delegation在这里,因为你的按钮已被动态添加到DOM:

$('body').on('click', '#btnOk', function() { 
    var url = "http://localhost:65344/Dispatch"; 
    $(location).attr('href', url); 
}); 

这种技术将帮助您连接点击事件添加到这个新添加的按钮。