jquery 通过自定义事件从对话框传递数据

标签 jquery dialog

我有一个在父窗口内调用的对话框。 该对话框包含另一个 View (我们称之为 childView),其中有一些按钮。 我想做的是,当单击按钮时,我会触发一个在父窗口上“捕获”的函数。

例如: 在父 View 上:

$("#dialog").dialog({
            autoOpen: false,
            height: 350,
            width: 530,
            modal: true,
            open: function (event, ui) {
                $(this).load("ChildView");
            },
            close: function (event, ui) {
                $("#dialog").dialog().dialog('close');
            }
        }).on("ChildButtonClick", function (arg) { alert( "Hello " + arg); })

subview

 ...
 <input type="button" id="myButton" onclick="ClickButton('Bob');" />
 <input type="button" id="myButton" onclick="ClickButton('Alice');" />
  ...


function ClickButton(arg) {

        ...trigger("ChildButtonClick", arg);
    }

可以做这样的事情吗?

谢谢

最佳答案

是的,可以做到这一点。

父 View :

$("#dialog").dialog({
    autoOpen: true,
    height: 350,
    width: 530,
    modal: true,
    open: function (event, ui) {
        $(this).load("ChildView.html");
    }
}).on("ChildButtonClick", function (event, data) {
    alert( "Hello " +  data.name);
    })

ChildView(ChildView.html):

// HTML
<input type="button" id="myButton1" onclick="ClickButton('Bob');" value="Btn1" />
<input type="button" id="myButton2" onclick="ClickButton('Alice');"  value="Btn2" />
// JS
function ClickButton(arg) {
        $("#dialog").trigger("ChildButtonClick", [{name:arg}]);
    }

这样,您就可以在父窗口中捕获通过子窗口传递的任何内容。

关于jquery 通过自定义事件从对话框传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42535886/

相关文章:

javascript - div标签下的元素完全加载后如何隐藏加载器

jquery - 如何在 Jquery UI 对话框中实现 "confirmation"对话框?

iphone - 在 iphone 中点击按钮时打开文件对话框

android - 如何从 Activity 中更新对话框 fragment 中的 TextView ?

TabHost Activity 中的 android 对话框

JQuery UI 对话框按钮 Pane div append 到表单

javascript - 通过jquery检查页面加载本身是否选中复选框

javascript - 通过 ajax 发送同名多个复选框值

javascript - 如何在我的页面中加载所有图像后运行 jQuery 代码?

jquery - 使用jquery和.net从外部url获取h标签和img src