如何在jquery中的click事件中添加click事件?

时间:2014-01-08 10:33:49

标签: jquery jquery-click-event

我正在尝试在jquery onclick事件中添加click事件。我正在使用以下代码。但它没有用。我有网上购物网站。我正在尝试添加产品的快速视图。现在问题是ajax add-to-cart按钮在jquery对话框中不起作用。问题是我无法将产品ID传递到“添加到购物车”按钮。变量a不起作用。如何将其传递给add-to-cart onclick函数。

 $(function () {
    debugger;
    $("#dialog").dialog({

        modal:true,
        autoOpen: false,
        draggable:true,
        resizable: false,
        width: "auto"

    });

    $(".dialogify").bind("click", function(e) {
        e.preventDefault();
        var a=$(this).next().find('img').attr('buttons');
        $("#dialog").dialog('option', 'title', $(this).next().find('img').attr('title'));      
        $("#dialog").html("<img src='" + $(this).next().find('img').attr('src') + "' width='150' + height='150'>"+"<label>"+"<br/>"+ $(this).next().find('img').attr('price')+"<br/>"+"</label>"+"<label>"+$(this).next().find('img').attr('desc')+"</label>"+"<br />"+"<input type='button' value='@(Model.ProductPrice.AvailableForPreOrder ? T("ShoppingCart.PreOrder") : T("ShoppingCart.AddToCart"))' class='button-2 product-box-add-to-cart-button' onclick= (a)/>")
        $("#accordion").accordion();
        $("#dialog").dialog("option", "position", {

            modal:"true",
            my: "center",
            at: "center",
            title:"title",
            of: window

        });
        if ($("#dialog").dialog("isOpen") == false) {
            $("#dialog").dialog("open");

        }
    });
});

.cshtml

  <div class="buttons" id="but">
    @if (!Model.ProductPrice.DisableBuyButton)
        {
            <input type="button" value="@(Model.ProductPrice.AvailableForPreOrder ? T("ShoppingCart.PreOrder") : T("ShoppingCart.AddToCart"))" class="button-2 product-box-add-to-cart-button" onclick="AjaxCart.addproducttocart('@addtocartlink    ');return false;" />
        }
   </div>

1 个答案:

答案 0 :(得分:1)

我认为你试图将点击事件绑定到以下行中的按钮:

$("#dialog").html("<img src='" + $(this).next().find('img').attr('src') + "' width='150' + height='150'>"+"<label>"+"<br/>"+ $(this).next().find('img').attr('price')+"<br/>"+"</label>"+"<label>"+$(this).next().find('img').attr('desc')+"</label>"+"<br />"+"<input type='button' value='@(Model.ProductPrice.AvailableForPreOrder ? T("ShoppingCart.PreOrder") : T("ShoppingCart.AddToCart"))' class='button-2 product-box-add-to-cart-button' onclick= (a)/>");

您可以在将按钮插入dom的行之后(即上面一行下方的任何位置)执行此操作:

$("#dialog").find('.product-box-add-to-cart-button').on('click', function() {});