jquery-ui, используйте диалог («открыть») и передайте переменную в ДИАЛОГ

У меня есть следующий 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, которую я бы получил от клика, даже привязки, которая запустила функцию открытия диалогового окна.

Спасибо!


person AnApprentice    schedule 22.05.2010    source источник


Ответы (1)


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

person Dan Heberden    schedule 22.05.2010