2017-09-01 47 views
1

我有一个mvc应用程序,显示客户端的购买历史记录。当客户点击其购买历史记录中的特定订单时,我会向用户显示所选订单上产品的列表。直到这里一切正常。现在,当使用点击所选订单中的产品时,我使用$.ajax获得当前产品详细信息,从部分视图返回html结果并将其显示在jquery.dialog中。它的工作原理发现,除了我,在弹出的一个按钮class="addToCart",在主要的网页我有MVC3部分视图脚本不起作用

$(".addToCart").on(click, function(e){ 
    .... 
}); 

,但这个命令不会被调用,除非我在局部视图中添加此脚本。

有什么想法?

+0

左右'click'添加引号在你的命令:'($( “addToCart ”)上(“ 点击”,功能(E){});' – krillgar

+0

的[事件可能重复的动态结合上。创建元素?](https://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) –

回答

0

您使用的click绑定称为“直接”绑定,它只会将handler附加到已存在的元素。这就是为什么当你在部分视图中添加代码时它工作的原因。

以下代码将适用于所有具有“addToCart”类的元素,无论是否已存在,或稍后动态添加。

$('body').on('click', '.addToCart', function() { 
    .... 
});