WebForm弹出框,选择弹出的值,点击确认,自动关闭弹出框,并把选中的值传回父页面

发布于:2022-10-22 ⋅ 阅读:(608) ⋅ 点赞:(0)

1.前端aspx部分

<tr>
                                    <td align="right">
                                        联系市领导:
                                    </td>
                                    <td>
                                        <asp:TextBox ID="TXT__LXSLD__TZ_XMJB_BMXX" CssClass="input" runat="server"></asp:TextBox>
                                    </td>
                                    <td align="right">
                                        联系区领导:
                                    </td>
                                    <td colspan="3">
                                        <asp:TextBox ID="tbx_LXQLD" runat="server" CssClass="input" ContentEditable="false"
                                            autocomplete="off" Style="width: 90%"></asp:TextBox>
                                        <asp:TextBox ID="TXT__LXQLD__TZ_XMJB_BMXX" runat="server" Style="display: none;"></asp:TextBox>
                                    </td>
                                </tr>

2.JS部分

       $('#tbx_LXQLD').focus(function () {
            SelectFGLD($('#TXT__LXQLD__TZ_XMJB_BMXX').val(), 'TXT__LXQLD__TZ_XMJB_BMXX', 'tbx_LXQLD');
        });
        function SelectFGLD(v, name, name1) {
    layerData('selVal', v);
    var url = "/SelectDW/XTbmList.aspx?LB=0015";
    var dw = layeriframe(url, "选择责任区领导","60%", "65%", function ()  {
        var re = layerData('selVal');
        if (re && re != undefined && $.trim(re).length > 0) {
            $('#' + name).val(re);
            var d;
            $.ajax({
                async: false,
                method: "post",
                url: "/SelectDW/getbmmc.ashx?lb=qtdw",
                data: { "rydm": re },
                beforeSend: function () {
                    //显示一个遮罩层
                    d = art.dialog({
                        "title": false,
                        "content": "正在获取责任区领导",
                        "lock": true,
                        width: 600,
                        height: "auto"
                    });
                },
                dataType: "html",
                success: function (data) {
                    $('#' + name1).val(data.split('|')[0]);
                },
                error: function () {
                    d.close();
                },
                complete: function () { d.close(); }
            });
        } else {
            $('#' + name).val('');
            $('#' + name1).val('');
        }
        return true;
    
    });
}

3.添加getbmmc.ashx页面

 public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string lb = PageHelper.SafeRequest("lb");
            string strRYDM = PageHelper.SafeRequest("rydm");
            if (lb == "qtdw")
            {
                context.Response.Write(GetUserNameList(strRYDM,"lxfs").Replace("{}", ""));
            }
            else
            {
                context.Response.Write(GetUserNameList(strRYDM).Replace("{}", ""));
            }
        }

/// <summary>
        /// 根据人员代码返回人员姓名列表,人员代码以1,2,3,4的方式来传递。中间用英文状态 逗号分隔;
        /// 如果单个人员代码请直接传递 1
        /// </summary>
        /// <param name="strRYDM"></param>
        /// <returns></returns>
        public static string GetUserNameList(string strRYDM)
        {
            if (string.IsNullOrEmpty(strRYDM.Trim()))
            {
                return "";
            }
            string[] strArrayRydm = strRYDM.Split(',');

            //string strSql = "select dbo.GetUserNameList('" + str + "');";
            //string strResult = DBhelper.GetString(strSql);
            //if (strResult.Length > 0)
            //{
            //    strResult = strResult.Replace(';', ',');
            //}
            string strSql = "select XM,CYLXR,PHONE from s_yhxx_m where rydm in('" + strRYDM.Replace(",","','") + "')";
            DataTable dt = DBhelper.Query(strSql).Tables[0];
            string strResult = "";
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                strResult += dt.Rows[i]["XM"].ToString() + "," + dt.Rows[i]["CYLXR"].ToString() + "," + dt.Rows[i]["PHONE"].ToString() + "|";
            }
            return strResult.TrimEnd('|');
        }

4.XTbmList.aspx弹出框前端部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XTbmList.aspx.cs" Inherits="PMIS.UI.SelectDW.XTbmList" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
<link rel="stylesheet" type="text/css" href="/SelectDW/css/main.css" />
<link rel="stylesheet" href="/Themes/Buttons/css/font-awesome.min.css"/>
<link rel="stylesheet" href="/Themes/Buttons/css/buttons.css"/>
<script type="text/javascript" src="/Themes/Default/js/jquery-3.6.0.min.js"></script>
<!--弹出框-->
<script type="text/javascript" src="/Upload/artDialog/jquery.artDialog.xmgl.js?b=1&skin=xmgl"></script>
<script type="text/javascript" src="/Upload/artDialog/plugins/iframeTools.source.js"></script>
<script type="text/javascript">
    var selec = [];
    $(document).ready(function () {
        var inVal = layerData('selVal');
        if ($.trim(inVal).length > 0) {
            var tmp = inVal.split(",");
            for (var i = 0; i < tmp.length; i++) {
                selec.push(tmp[i].toString());
            }
            $('#tbx_Selected').val(selec.join(","));
            
        }
        initSel();
    });
    function toggleSele(o, v) {
        //var id = parseInt(v);
        if ($.inArray(v, selec) >= 0) {
            selec = $.grep(selec, function (val, key) { if (val != v) return true; }, false);
            $(o).parent().removeClass("selected");
        } else {
            selec.push(v);
            $(o).parent().addClass("selected");
        }
        $('#tbx_Selected').val(selec.join(","));
    }
    function initSel() {
        if (selec != undefined && selec.length > 0) {
            $('.result_addr ul li a').each(function () {
                var inp = $(this).find("input");
                //var v = parseInt(inp.val());
                var v = $.trim(inp.val());
                if ($.inArray(v, selec) >= 0) {
                    $(this).parent().addClass("selected");
                }
            });
        }
    }
    //确定地址选择
    function selectOK() {
        layerData('selVal', selec.join(",")); //写入数据到父页面建那的数据区,
        layeriframeclose(); //关闭对话框。

    }
    function clearOK() {
        layerData('selVal', ''); //写入数据到父页面建那的数据区,
        layeriframeclose(); //关闭对话框。
    }
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div class="addrMain">
        <h1 class="search_addr">选择:<asp:Literal ID="Literal1" runat="server"></asp:Literal>
            <asp:TextBox ID="tbx_Selected" runat="server" style="display:none;"></asp:TextBox> <asp:TextBox ID="tbx_Type" runat="server" style="display:none;"></asp:TextBox>&nbsp;&nbsp;<input type="button" value="确 定" class="button button-rounded button-primary" οnclick="selectOK();"/>&nbsp;&nbsp;<input type="button" value="清 空" class="button button-rounded" οnclick="clearOK();"/>
        </h1>
        <h1 class="result_addr">
            <ul class="c1">
                <asp:Repeater ID="Repeater1" runat="server">
                    <ItemTemplate>
                        <li yhlb='<%# Eval("yhlb") %>'><a href="#" οnclick="toggleSele(this,'<%# Eval("rydm") %>');"><%# Eval("xm") %><input type="hidden" value="<%# Eval("rydm") %>"/></a></li>
                    </ItemTemplate>
                </asp:Repeater>
            </ul>
            <ul class="c2" style="float:left; border-top:1px solid blue; display:none; margin-top:7px;">
            </ul>
        </h1>
        <br style="clear:both;"/>
    </div>
    <script>
        if ($(".c1").find("li[yhlb=021]").length > 0) {
            $(".c2").append($(".c1").find("li[yhlb=021]"));
            $(".c2").show();
        }


    </script>
    </form>
</body>
</html>

5.后端部分

public partial class XTbmList : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            tbx_Type.Text = PageHelper.SafeRequest("type");
            if (!Page.IsPostBack)
            {
                DataTable ds = null;
                if (PageHelper.SafeRequest("LB") == "0015")  //领导
                {
                    ds = UserBll.GetFGLD();
              }
              
                Repeater1.DataSource = ds;//ToolInit.GetCodeTb(tbx_Type.Text);
                Repeater1.DataBind();
            }
        }
        /// <summary>
        /// 获得责任领导
        /// </summary>
        /// <returns></returns>
        public static DataTable GetFGLD()
        {
            string strSql = "SELECT rydm,xm,yhlb FROM dbo.S_YHXX_M WHERE YHLB in ('001','021') and SFSY = '1' ORDER BY pxm ";
            DataTable dt = DBhelper.Query(strSql).Tables[0];
            return dt;
        }

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到