jquery-ui, используйте диалоговое окно («открыть») и передайте переменную в DIALOG - PullRequest
24 голосов
/ 23 мая 2010

У меня есть следующий JS:

$('#listeditdialog').dialog('open');

, который открывает следующий диалог:

$('#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>');
    }
});

Мой вопрос: когда я использую функцию открытия диалога в другой функции JS, как я могуЯ передаю переменную listID, которую я получу от привязки клика, запускающей диалог открытия.

Спасибо!

1 Ответ

39 голосов
/ 23 мая 2010

Если я вас правильно понимаю, вы хотите иметь данные, к которым у вас есть доступ, когда вы звоните $('#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>');
    }
});`

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

...