jquery - 单击ajax调用成功部分中的事件未触发

时间:2015-01-08 14:33:43

标签: jquery ajax

第一个工作案例:我正在向我的MVC控制器发送一个ajax调用,当控制器返回成功时它会显示一个popover,我可以在点击“Hide”时关闭它。

这是代码:

         $.ajax({
            cache : false,
            url: "http://localhost:8080/controller",
            type: "POST",
            data:  JSON.stringify(jsonSequenceList),
            contentType: "text/plain; charset=utf-8",
            success: function(result) {

                    $('#divtodisplayresult').html(result);
                    $('#search-button').popover({
                        html : true,
                        title: "Consider also Searching for:",
                        content: function() {
                            return $('#popover_content_wrapper').html();  
                        }
                    }).popover('show');

                    $("#hidepopover").click(function(){
                        $('#search-button').popover().popover('hide');
                    });

            }

        });

第二个NOT工作案例:现在当控制器返回时,根据结果,我有两个选项可以遵循,上面和另一个。

这是代码:

$.ajax({
            cache : false,
            url: "http://localhost:8080/recommender",
            type: "POST",
            data:  JSON.stringify(jsonSequenceList),
            contentType: "text/plain; charset=utf-8",
            success: function(result) {
                if (result.toString().indexOf("buckimg_popover_content_wrapper")){
                    $('#div2todisplayresult').html(result);
                    $('#query-wrapper').popover( {
                        html : true,
                        title: "Would you like add this to your collection?",
                        content: function() {
                            return $('#buckimg_popover_content_wrapper').html();                                  }
                    }).popover('show');
                    $("#noimg").click(function(){
                       $('#query-wrapper').popover().popover('hide');
                    });

                    $("#yesimg").click(function(){

                     //dostuff
                     $('#query-wrapper').popover().popover('hide');

                    });


                }

                else{
                $('#divtodisplayresult').html(result);
                $('#search-button').popover({
                    html : true,
                    title: "Consider also Searching for:",
                    content: function() {
                        return $('#popover_content_wrapper').html();         
                    }
                }).popover('show');

                $("#hidepopover").click(function(){
                    $('#search-button').popover().popover('hide');
                });
            }
            }

        });

所以我的问题是在控制器返回之后正确进入正确的“if block”但是当我点击'No'或'Yes'时($(“#noimg”))。click(function(){} ),$(“#yesimg”)。click(function(){}))事件未被捕获,当我点击隐藏事件时($(“#hidepopover”)。click(function(){}))再次没有被抓住,而在第一个附加的工作案例中它工作正常。

我还尝试将这三个事件拖到if / else块之外,但仍然没有运气。你能帮我解决这个问题吗?谢谢。

0 个答案:

没有答案