如何将参数传递给对话框的打开事件?

时间:2012-02-15 05:33:29

标签: jquery

我有以下功能:

(function ($) {
    $.fn.createCommonDialog = function () {
        this.dialog({
            autoOpen: false,
            modal: true,
            resizable: false,
            draggable: true,
            height: 'auto',
            width: 875,
            buttons: {
                "Submit": function () {
                    tinyMCE.triggerSave();
                    $("#update-message").html('');
                    $("#menuForm").submit();
                },
                "Cancel": function () {
                    $(this).dialog("close");
                }
            },
            open: function (event, ui) {
                tinyMCE.init(window.tinyMCEOptions);
                $('.ui-dialog-buttonpane').
                    find('button:contains("Submit")').button({ icons: { primary: 'ui-icon-plus'} });
                $('.ui-dialog-buttonpane').
                    find('button:contains("Cancel")').button({ icons: { primary: 'ui-icon-cancel'} });
                $("#dialog_type").wijdropdown();
                $("#dialog_select").wijdropdown();
                $(":input[type='text'],:input[type='password'],textarea").wijtextbox();
            }
        });
    };
})(jQuery);

我在代码的一部分创建对话框:

    $('#commonDialog').createCommonDialog();

稍后我打电话给公开赛:

    var dialogDiv = $('#commonDialog');
    dialogDiv.dialog('option', 'title', 'Editing: ' + viewID);
    dialogDiv.dialog('open');

我是否可以通过某种方式将参数作为公开调用的一部分传递?

或者我可以在open事件中检查'title'选项的值吗?

1 个答案:

答案 0 :(得分:2)

您可以将参数分配给数据对象,并将数据存储在调用插件的元素上(this)。然后你可以在open函数中访问它。