Search code examples
jqueryfacebox

jQuery AJAX complete handler


I have table that shows some records from database.
each table has a column that shows detail for target column.
I want to show detail in facebox popup.
each detail came from AJAX request.
first time that I click on a row It shows empty facebox.
I wrote facebox code on complete handler of my ajax request.
and next times that I clicking on rows It shows data about previous clicks.
What's wrong? Its simple form of my code :

 $(function () {

        $(".view").click(function (e) {
            var props = [{ 'Key': 'FilledFormID', 'Value': 4}];

            var fileName = "~/Maskan/Control/UserDiscussions.ascx";

            var jsonText = JSON.stringify({ path: fileName, properties: props });
            $("#test").advloaduc({
                webServiceName: '../../Services/AJAX.asmx',
                renderUCMethod: 'RenderUserControl',
                ucMethodJsonParams: jsonText,
                completeHandler: jQuery.facebox({ div: '#test' })


            });
        });


    });

Solution

  • Try changing you code like so.

    Original Code:

    $("#test").advloaduc({
        webServiceName: '../../Services/AJAX.asmx',
        renderUCMethod: 'RenderUserControl',
        ucMethodJsonParams: jsonText,
        completeHandler: jQuery.facebox({
            div: '#test'
        })
    });
    

    New Code:

    $("#test").advloaduc({
        webServiceName: '../../Services/AJAX.asmx',
        renderUCMethod: 'RenderUserControl',
        ucMethodJsonParams: jsonText,
        completeHandler: function() {
            jQuery.facebox({
                div: '#test'
            })
        }
    });