2010-05-22 13 views
23

Tengo el siguiente JS:jquery-ui, de diálogo Uso ('abierto') y pasar una variable al cuadro de diálogo

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

que abre el siguiente cuadro de diálogo:

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

Mi pregunta es cuando utilizo la función de apertura de diálogo en otra función JS, ¿cómo puedo pasar una variable listID que obtendría desde el enlace clic even que activó el cuadro de diálogo abrir func?

Gracias!

Respuesta

38

Si entiendo bien, quiere tener datos a los que tiene acceso cuando llama al $('#listeditdialog').dialog('open') que está disponible cuando se dispara el evento abierto.

Algo como esto podría ayudar:

// 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/

Cuestiones relacionadas