jqueryUI タブのあるページがあります。私は3つのタブを持っています。最初の 2 つのタブには 2 つの別個のフォームがあります。どちらか一方を送信できますが、両方を送信することはできません。1 つのフォームを送信すると、3 番目のタブが開き、ポストバックから送信された結果が表示されます。私はこれをどのように行うのか少しわかりませんか?これまでのところ、私のタブコントロールは次のとおりです...
<script type="text/javascript">
$(function () {
$("#searchPatient").tabs();
});
</script>
<div id="searchPatient" style="display:inline; float:inherit">
<ul>
<li><a href="#searchByMRN">Search By MRN</a></li>
<li><a href="#searchByDemographics">Search By Demo</a></li>
<li><a href="#retTable">Return Table</a></li>
</ul>
@Html.Partial("_SearchByMRN")
@Html.Partial("_SearchByDemographic")
@Html.Partial("_RetTable")
</div>
ご覧のとおり、私のセットアップはシンプルです。これらの各 Partial 呼び出しには、タブの div を含む部分ビューがあります。このページのスクリプトでは、従来の送信機能を無効にし、代わりに 3 番目のタブ (retTable) を表示する必要があると推測しています。どのイベントを探す必要があるかわかりませんか? これをどのように開始できるかについてのアイデアはありますか? 似たような例はありますか?
更新: こんにちは。このタブ コントロールは完全に機能しますが、少し拡張しようとしています... JSON データを retTable に送り返し、最後のタブにテーブルを追加したいです... コントローラー メソッドを変更して JSON を返すようにすると思いましたページに戻る...
public ActionResult SearchByMRN(SearchByMRNModel searchByMRN)
{
//Have to flesh this out more... Will return JSON result set back to SearchPatient View
//Can pull right out of old project... Shouldn't be a major problem...
//ImportPopulationManagementDLL's
string UID = HttpContext.User.Identity.Name;
DataRepository dr = new DataRepository();
List<SelectListItem> retVal = dr.SearchByMRN(searchByMRN, UID);
return Json(DataRepository.searchPatientJSonStr(retVal), JsonRequestBehavior.AllowGet);// PartialView("_RetTable");
}
このスクリプトは、レンダリングされる元のビュー (.tabs() 関数を呼び出すビュー) にあります。
<script type="text/javascript">
$(function () {
$("#searchPatient").tabs();
});
function switchToResultTab(data) {
$('a[href="#retTable"]').click();
debugger;
$("#list").setGridParam({
datatype: 'jsonstring',
datastr: data,
caption: 'Patient Search Result'
}).trigger("reloadGrid");
}
function failToTab(data) {
alert("");
$("list").setGridParam({
datatype:'jsonstring',
caption: 'Patient Search Result',
datastr:data
}).trigger("reloadGrid");
}
</script>
それはかなり単純だと思いましたが、どういうわけか、ajax関数はJSONファイルを保存するように私に求め続けます...これは後部の痛みです。また、Ajax.BeginForm を呼び出すときに gif をロードするにはどうすればよいでしょうか... ローディング フィールドがあるに違いありません。再確認させてください...