Domanda

Vorrei sapere se posso usare la seguente funzione JQuery su un ID oggetto situato all'interno di una finestra di dialogo JQuery.

$('#idofmyfield').val()

Non ha restituito nulla.

È stato utile?

Soluzione

Potrebbe essere necessario regolare l'id del selettore in base al markup generato dalla finestra di dialogo:

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">
   <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
      <span id="ui-dialog-title-dialog" class="ui-dialog-title">Dialog title</span>
      <a class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
   </div>
   <div style="height: 200px; min-height: 109px; width: auto;" class="ui-dialog-content ui-widget-content" id="dialog">
      <p>Dialog content goes here.</p>
   </div>
</div>

forse fai questo:

$('div.ui-widget-content > #idofmyfield').val(); 

Ho avuto una situazione simile durante il pull dei dati JSON per riempire una finestra di dialogo. Il mio codice, che funziona, è simile al seguente:

if (jQuery) {
    jQuery(document).ready(function(){                      
        jQuery('#dialog').dialog({
            autoOpen: false,
            modal: true,
            width: 690, 
            position: [160, 160]
        }); /* end #dialog */

   /* do some processing and add the following to a click method */
    jQuery.getJSON(json_link, function(json){
        jQuery('.ui-dialog-title').text(json.title);
        jQuery('.ui-dialog-content').html(json.html);
    });

    jQuery('#dialog').dialog('open');
   /* end of click method */


}); /* end document.ready */
}

Altri suggerimenti

guarda gli eventi per dialogare

$('.yourDialog').dialog({
   close: function(event, ui) {
       alert($('#idofmyfield').val());
   }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top