Domanda
Voglio aprire la finestra di dialogo in base al risultato Ajax. Come creare / aprire la finestra di dialogo dal file .js?
Chiunque aiuto me.
Grazie in anticipo.
Soluzione
se si collega a un file in questo modo:
<a href="foo.html" data-rel="dialog">Open dialog</a>
è fatto con AJAX comunque e si degrada ben per le persone con minore supporto JS.
Il modo in cui si desidera farlo:
Creare un div involucro per il contenuto e dargli un attributo data-role=dialog
, quindi chiamare .dialog()
su di esso, o se .page()
finestra di dialogo non funziona.
aggiornare:
Con JQMbeta2 si introduce un evento di 'creare', che si deve innescare su roba invece di usare .pagina
Altri suggerimenti
Non so se questo post è ancora rilevante, ma l'ho fatto in questo modo:
function openDialog(strPageId, strTransition){
$.mobile.changePage($("#"+strPageId+":jqmData(role='dialog')"), {transition : ""+strTransition+""});
}
E poi si può invocarlo su un pulsante, o nel codice, ovunque ...
<button data-theme="a" name="btnOS" id="btnOS" onClick="openDialog('pu-edit-mailorder','slideup')">Order</button>
Credo che significa che vuole usare JS per aprire una finestra jQm, non creare un collegamento finestra e sparare un evento click.
Se è così si suppone di utilizzare $ .mobile.changePage ( 'PAGEURL', {ruolo: 'finestra'});
.dialog()
per qualche motivo non ha funzionato per me. Sto usando:
$("<a href='#dialog-id' data-rel='dialog'></a>").click().remove();
Non è davvero bello, ma funziona.