Sto cercando di sostituire il javascript conferma(). Ho trovato la funzione jquery dialog() che può essere completamente personalizzata. Il problema è che non posso farlo restituire true o false.jQuery Finestra di dialogo UI con ritorno booleano - vero o falso
Ecco il mio codice:
$('#delBox').dialog(
{ autoOpen: false, resizable: false, modal: true, closeOnEscape: true, width: 300, height: 'auto', title: 'Deletar registro',
buttons: {
"Ok": function() {
return true;
}, "Cancelar": function() {
$(this).dialog("close");
return false;
}
},
open: function() {
var buttonsSet = $('.ui-dialog-buttonset').find("button:contains('Ok')");
buttonsSet.attr("class", "ui-button ui-state-default");
$('.ui-dialog-titlebar-close span').empty();
$('.ui-dialog-buttonset').find("button:contains('Ok')").button({
text: false,
icons: {
primary: 'ui-icon-ok'
}
});
$('.ui-dialog-buttonset').find("button:contains('Cancelar')").button({
text: false,
icons: {
primary: 'ui-icon-cancel'
}
});
}
});
Questo solo restituire un oggetto prima di qualsiasi opzione selezionata:
function deletar() {
alert($('#delBox').dialog('open'));
}
+1 Per differite –
pensi che la funzione dovrebbe restituire l'oggetto differita a pieno titolo o un'interfaccia promessa ristretta tramite 'def.promise ritorno()'? –
@AtesGoral sì, 'def.promise()' sarebbe preferibile - buon punto. – Alnitak