jquery-ui,使用对话框('open')并将变量传递给DIALOG

AnA*_*ice 24 jquery-ui jquery-ui-dialog

我有以下JS:

$('#listeditdialog').dialog('open');
Run Code Online (Sandbox Code Playgroud)

这将打开以下对话框:

$('#listeditdialog').dialog({
    autoOpen: false,
    resizable: false,
    position: ['center',150],
    width: 450,
    open: function(event, ui) {
        $("#listeditdialog").load("/projects/view/tasks/ajax/?listid=" + XXXX);
    },
    close: function(event, ui) {
        $("#listeditdialog").html('<p id="loading"> </p>');
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我在另一个JS函数中使用对话框打开函数时,如何传递一个listID变量,我将获得点击甚至绑定触发对话框打开func.

谢谢!

Dan*_*den 39

如果我理解正确,那么$('#listeditdialog').dialog('open') 当open事件触发时,您希望在调用时可以访问有权访问的数据吗?

这样的事情可能会有所帮助:

// where dialog is opened
$('#listeditdialog').data('listID', listIDVarOrSimilar); //assign the ID for later use
$('#listeditdialog').dialog('open')

// dialog definition
$('#listeditdialog').dialog({
    autoOpen: false,
    resizable: false,
    position: ['center',150],
    width: 450,
    open: function(event, ui) {
        var $led = $("#listeditdialog");
        $led.load("/projects/view/tasks/ajax/?listid=" + $led.data('listID'); //use the previously saved id
    },
    close: function(event, ui) {
        $("#listeditdialog").html('<p id="loading"> </p>');
    }
});`
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/data/