jquery Dialog mit Parameter und Event nach Close/Animation
Eigentlich eine einfache Sache, ich möchte einen Dialog öffnen ob ich z.B. diesen einen Artikel löschen möchte. Die Artikelnummer übergebe ich aus einer Tabelle heraus.
<input type="image" src="images/delete.png" onclick="return doDelete('${artikelNr!}');" title="Löschen" alt="Löschen" />
Der Dialog ist wie in jquery beschrieben angelegt:
<div id="dialog" title="Artikel löschen">Wollen Sie den Artikel wirklich löschen?</div>
Der Javascript-Text:
<script type="text/javascript">
$( "#dialog" ).dialog({
show: 'fold',
hide: 'fold',
autoOpen: false,
resizable: false,
closeOnEscape: true,
modal: true,
buttons: {
"Abbruch": function() {
$(this).dialog("close") ;
retVal = false ;
},
"Löschen!": function() {
$(this).dialog("close") ;
retVal = true ;
}
},
close: function() { alert('close ' + this.value + ' ' + retVal); }
});
function doDelete(artikelNr) {
$( "#dialog").val(artikelNr);
$( "#dialog" ).dialog( "open");
}
</script>
Das einfache ist – ich setze das „value“-Attribute mit der ArtikelNr die ich ggf. löschen möchte. Setze die Variable retVal auf true bei „Löschen“ und false bei Abbruch. Ich warte einfach den „close“-Event ab bis die Animation zu Ende ist und rufe ggf. die Löschfunktion auf…