按钮单击jquery对话框,在ajax调用后出现问题

时间:2014-06-17 22:05:36

标签: jquery jquery-ui asp.net-mvc-4 modal-dialog

我的模态窗口(jquery)有一个链接和两个按钮。点击链接后,我将使用ajax调用用新视图替换当前视图。新视图有两个按钮Continue(btnContinue)和Cancel。 我面临的问题是点击新加载的视图按钮不起​​作用。

我的代码:

       $(".ddlCart li").click(function (e) {

        var ddlselectedVal = $(this).attr('id');
        var agentId = $("#AgentId").val();

        var EnvironmentURL = $("#EnvironmentURL").val();

        var Action = "PreAddToCart"

        var postData = {
            AgentId: agentId,
            ActionTypeValue: Action
        };

        var close = function (event, ui) {
            $(this).dialog("destroy");
        }
        var open = function (event, ui) {
            var agentId = $("#AgentId").val();
            var url = EnvironmentURL + "/Stats/SearchContacts";

            $("#btncart_cancel").on("click", function () {
               $('#dvModalDialog').dialog("close");
            });


     $("#lnkCreateNewcart").on("click", function () {

                            var url = EnvironmentURL + "/MLSReports/Stats/Cart";
                            //Send the data using post and put the results in a div                   
                            $.post(url, {
                               ActionTypeValue: "CreateNewContact"
                            },
                                function (data) {
                                  // Replace current data with data from the ajax call to the div.         
                                    $("#dvModalDialog").empty().append(data);

                                });
                        }); 


//******* This is not firing ....
     $("#btnContinue").on("click", function () {
                            alert('This click is from the second View');
                        });      


        };

        var rd = Mod.ReportsDialog({
            title: 'Add To Cart',
            close: close,
            open: open
        });
        rd.url = EnvironmentURL + "/Stats/Cart";
        rd.targetElement = '#dvModalDialog'
        rd.formName = '#frmCart'
        rd.postData = postData
        rd.open();
        var $that = this;
        });

2 个答案:

答案 0 :(得分:1)

编辑: 1

让我知道这是否有效:

$(document).on('click', '#btnContinue', function(e) {

而不是:

$("#btnContinue").click(function (e) {

答案 1 :(得分:0)

而不是:

     $(".ddlCart li").click(function (e) {
...

使用它:

$(".ddlCart li").on('click', function(e){

...

因为第一个函数只绑定到页面上现有的html元素,并且不识别新的元素。