彈出層列表父子頁面傳值
阿新 • • 發佈:2018-11-22
需求:
若將layer彈出層作為單獨的外掛引用的話,需要先引入jQuery1.8以上版本和layer.js以及layer.css。(layer文件)
$("#addressBtn").click(function () { var dept = $("#OrderDepts").val(); if (dept == 0) { $.MsgBox.Alert("溫馨提示", "請選擇採購部門!"); return; } layer.open({ type: 2, title: '個人地址資訊列表', shadeClose: true, shade: false, maxmin: true, area: ['1000px', '500px'], content: "@Url.Action("GetAddressByDept", "Member")?deptId=" + $("#OrderDepts").val() }); });
@section scripts{ <script type="text/javascript"> $(function () { LoadData(); }) //初始化表格 根據查詢條件讀取資料 function LoadData() { var DeptId = "@ViewBag.DeptId"; //先銷燬表格 $('#table').bootstrapTable('destroy'); //初始化表格,動態從伺服器載入資料 $('#table').bootstrapTable({ url: '@Url.Action("GetAddressByDept2", "Member")', //請求後臺的URL(*) toolbar: '#toolbar', //工具按鈕用哪個容器 striped: false, //是否顯示行間隔色 cache: true, //是否使用快取,預設為true,所以一般情況下需要設定一下這個屬性(*) pagination: true, //是否顯示分頁(*) sortable: false, //是否啟用排序 sortOrder: "asc", //排序方式 sidePagination: "client", //分頁方式:client客戶端分頁,server服務端分頁(*) pageNumber: 1, //初始化載入第一頁,預設第一頁 pageSize: 20, //每頁的記錄行數(*) pageList: [20, 50, 100], //可供選擇的每頁的行數(*) search: false, //是否顯示錶格搜尋,此搜尋是客戶端搜尋,不會進服務端,所以,個人感覺意義不大 strictSearch: false, //設定為 true啟用 全匹配搜尋,否則為模糊搜尋 showRefresh: false, //是否顯示重新整理按鈕 clickToSelect: true, //是否啟用點選選中行 singleSelect: true, uniqueId: "Id", //每一行的唯一標識,一般為主鍵列 queryParamsType: "undefined", fixedColumns: false, fixedNumber: 1, queryParams: function queryParams(params) { var param = { deptId: DeptId, key: $("#name").val() }; return param; }, onLoadSuccess: function () { }, onLoadError: function () { } }); } $("#submitAddress").click(function () { var address = $("#table").bootstrapTable('getSelections'); if (address.length == 0) { $.MsgBox.Alert("溫馨提示", "還未選擇收貨人資訊!"); return; } else { //給父頁面傳值 $.MsgBox.Confirm("提示", "確定要提交該記錄嗎?", function () { var realName = address[0].RealName; var addressDetail = address[0].Province + "." + address[0].City + "." + address[0].Area + "." + address[0].Address; var mobile_telphone = address[0].Mobile + "/" + address[0].Telphone; parent.$(".addresslist.receipt.current").removeClass("current"); parent.$(".checkicon.current").removeClass("current"); var addressHtml = '<div class="addresslist receipt current" onclick="GetCurrentAddress(this)">'+ '<span class="checkicon current" > ' + '<svg class="icon" aria-hidden="true">'+ '<use xlink: href="#icon-wancheng">'+'</use>'+ '</svg >'+ ' </span >'+ '<span id="realName">' + realName+'</span>'+ '<span id="addressDetail">' + addressDetail+'</span>'+ '<span id="mobile_telphone">' + mobile_telphone + '</span>' + '<span id="tempMemberId" style="display:none">' + address[0].Id + '</span>' + '</div>'; parent.$("#addresslist").append(addressHtml); parent.$(".addresslist.receipt.current").trigger("click"); $.MsgBox.Confirm("提示", "收貨人資訊已經更改,返回結算頁面嗎?", function () { parent.layer.closeAll(); }); }); } }); </script> }
public ActionResult GetAddressByDept2(int deptId,string key) { BaseManage<Member> bm = new BaseManage<Member>(); QueryOption<Member> option = new QueryOption<Member>(); option.Conditions.Add(new QueryCondition() { Field = "DeptId", SymbolEnum = QueryConditionSymbol.Equals, Val = deptId }); if (!string.IsNullOrEmpty(key)) { option.Conditions.Add(new QueryCondition() { Field = "RealName", SymbolEnum = QueryConditionSymbol.Contains, Val = key.Trim() }); } var members = bm.Query(option).Items; var address = (from m in members select new AddressInfo() { Id = m.Id, RealName = m.RealName, Province = m.Province, City = m.City, Area = m.Area, Address = m.Address , Mobile =m.Mobile, Telphone =m.Telphone}).ToList(); return Json(address,JsonRequestBehavior.AllowGet); }