如何使用参数扩展jquery UI对话框按钮?

时间:2013-10-05 12:09:04

标签: jquery jquery-ui jquery-ui-dialog

这是我用于创建jquery Dialog的示例代码。我正在创建JQuery对话框并进行扩展。

   function dialog_box(dynDiv, rootTemplate) {
            var dialog_buttons = rootTemplate.buttons;
            $("#" + dynDiv.id).dialog({
            hide: "explode",
                buttons:{},
                title: rootTemplate.etype,               
                text: rootTemplate.text,
                resizable: true,
                minWidth: 200,
                minHeight: 150
            });

            var mydialog = $("#" + dynDiv.id).dialog()
            var buttons = mydialog.dialog("option", "buttons"); // getter         
            $.extend(buttons, dialog_buttons);

对话框按钮是一个json结构,如下所示。

{
    "buttons": [
        {
            "id": "confirm",
            "text": "Yes",
             click: testconfirm
        }
    ]
}

所以,如果我需要传递一个如下所示的参数,那么在扩展时如何提及?

click({param1: "Hello", param2: "World"}, testfunction)

1 个答案:

答案 0 :(得分:0)

通过将其包装在匿名函数中来重写单击处理程序:

{
   "buttons": [{
        "id": "confirm",
        "text": "Yes",
         click: function() {
             var paramObj = {param1: "Hello", param2: "World"};
             testconfirm(paramObj);
         }
    }]
}