Ich möchte eine jQuery-Dialogbox mit zwei Schaltflächen aufrufen. Damit kann der Benutzer entscheiden, mit dem Überschreiben fortzufahren oder nicht.jQuery Dialogfeld Schaltflächenfunktion beim Laden der Seite
Ein Knopf, die "Nein" -Taste sollte nichts außer dem Schließen des Dialogfensters tun. Die "Ja" -Schaltfläche sollte eine Funktion aufrufen, die einen jQuery-Post-Aufruf an eine Aktionsmethode auf meinem Controller macht.
Das Problem ist, dass meine Aktionsmethode scheinbar beim Laden der Seite ausgeführt wird und nicht darauf wartet, dass das Dialogfeld überhaupt angezeigt wird. Hier
ist das Markup für den Dialog
<div id="dialog" title="My Dialog Box">
<p>
Ballance Already Exsists. Do you wish to overwrite?</p>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#dialog").dialog({ bgiframe: true, autoOpen: false, modal: true, buttons: { 'OK': overWriteBalance(), 'NO': $(this).dialog('close') }
});
});
</script>
und hier sind die Funktionen
balanceCheckPost = function (data) {
$("#existCheck").val(data);
if (data) {
// Does Exist
$("#existCheck").val("Exist");
// raise confirmation popup
$('#dialog').dialog("open");
}
else {
// Does Not Exist
$("#existCheck").val("NOT Exist");
// insert Item
var balance = {};
balance.date = $("#bal_Date").val();
balance.amount = $("#bal_Amount").val();
$.post("balance/insert",
balance,
confirmChange
);
}
};
function overWriteBalance() {
// insert Item
var balance = {};
balance.date = $("#bal_Date").val();
balance.amount = $("#bal_Amount").val();
$.post("balance/edit",
balance,
confirmChange
);
};
und hier ist der Code in meinem Controller.
public void edit(Balance bal)
{
var dataContext = new DataDataContext();
var balToEdit = dataContext.Balances.Single(b => b.Date == bal.Date);
balToEdit.Amount = bal.Amount;
dataContext.SubmitChanges();
}
Das Problem ist, dass die Editierfunktion in meinem Controller auf Seite Last runing.
Liegt daran, dass ich die Definition meiner Dialogschaltflächen in $ (document) .ready habe, also läuft die Methode oder so etwas.
Dank
Ihr Scherz, ich habe mir schon eine Weile die Haare rausgerissen ... Danke –