2つのボタンを持つjQueryダイアログボックスを表示したいと思います。ユーザは、上書き操作を続行するかどうかを決定できます。jQueryダイアログボックスページ機能で実行中のボタン機能
"いいえ"ボタンは、ダイアログウィンドウを閉じる以外は何もしません。 "Yes"ボタンは、コントローラ上のアクションメソッドへのjQueryポストコールを行う関数を呼び出す必要があります。
問題は、私のアクションメソッドがページロードで実行されているように見えて、ダイアログボックスが表示されるのを待たずにいるということです。ダイアログ
<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>
、ここでは、関数が
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
);
};
であり、ここに私のコントローラのコードであるためここで
は、マークアップです。
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();
}
問題は、コントローラの編集機能がページの読み込み中に実行されていることです。
私は$(document).readyのダイアログボタンの定義を持っているので、そのメソッドや何かを実行していますか?
おかげ
あなたのキッディング、私は今この間に私の髪を引っ張ってきました...ありがとう –