读书人

JS三级联动菜单页面刷新后怎么保持之

发布时间: 2012-03-28 15:40:03 作者: rapoo

JS三级联动菜单,页面刷新后如何保持之前选择的项目?

HTML code
<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="Default6.aspx.cs" Inherits="Default6" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><!--更新日期2010-6-7--><html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>AjaxTest </title>     </head> <body>     <form id="form1" runat="server"> <td width=130px>始发地<select id="s1" name = "nm1" runat = server style="width:178px;" onchange = "getAddrs()"></select>                                    <select id="s2" runat = server name = "nm2" style="width:178px;" onchange = "getAddrs()"></select>                                    <select id="s3" runat = server name = "nm3" style="width:178px;" onchange = "getAddrs()"></select></td>                    <td width=130px align=right>目的地</td><br />                    <td width=130px><select id="sn1" name = "nm4" runat = server style="width:178px;" onchange = "getAddrs()"></select>                                    <select id="sn2" name = "nm5" runat = server style="width:178px;" onchange = "getAddrs()"></select>                                    <select id="sn3" name = "nm6" runat = server style="width:178px;" onchange = "getAddrs()"></select></td>    </form> </body> <script language="javascript" type="text/javascript">      function LianDong(arr, sel)    {        this.GetCnNameByValue = function(val)        {            for ( var j = 0; j < arr.length; j++)            {                if (arr[j][0] == val)                {                    return arr[j][2];                }            }            return "";        }        this.GetValueByCnName = function(val)        {            for ( var j = 0; j < arr.length; j++)            {                if (arr[j][2] == val)                {                    return arr[j][0];                }            }            return "";        }        var me = this;        this.$ = function(o)        {            return document.getElementById(o);        }        this.sub = function (i, pid)        {            for (var j=i+1; j<sel.length; j++)            {               me.$(sel[j]).length = 0;               me.$(sel[j]).options[0] = new Option("请选择省,直辖市", "");               if(j=0)               {                    me.$(sel[j]).options[0] = new Option("请选择省,直辖市", "");               }               if(j=1)               {                    me.$(sel[j]).options[0] = new Option("市,直辖市", "");               }               if(j=2)               {                    me.$(sel[j]).options[0] = new Option("县", "");               }                           }            for ( var j = 0; j < arr.length; j++)            {                if (arr[j][1] == pid)                {                    me.$(sel[i+1]).options[me.$(sel[i+1]).length] = new Option(arr[j][2], arr[j][0]);                }            }        }        this.init = function()        {            me.sub(-1,"root");        for (var i=0; i<sel.length-1; i++)        {            me.$(sel[i]).onchange = function()            {                var i;                for (i=0; me.$(sel[i])!=this; i++);                me.sub(i, me.$(sel[i]).value);            }        }    }    this.SetValue = function()    {        for (var i=0; i<arguments.length-1; i++)        {           me.$(sel[i]).value = arguments[i];           me.sub(i, me.$(sel[i]).value);        }        me.$(sel[arguments.length-1]).value = arguments[arguments.length-1];    }    this.init();    }            var sfcode = "3559,3478,........";    var psfcode = "root,root,.......";    var sfmingzi = "云南,浙江,新疆,西藏,重庆,天津.............";    //此处代码太多,发不上来,已省略,,就是各个省市县的名称和代码。    var array=new Array();    var sfcodearr = sfcode.split(",");    var psfcodearr = psfcode.split(",");    var sfmingziarr = sfmingzi.split(",");for(var bvn=0;bvn<sfcodearr.length;bvn++)    {        array[bvn] = new Array(sfcodearr[bvn],psfcodearr[bvn],sfmingziarr[bvn]);    }    //初始化三个控件名字    if(document.getElementById("s1")!=null && document.getElementById("s2")!=null && document.getElementById("s3")!=null)    {        var selectArr = new Array("s1","s2","s3");        var liandong=new LianDong(array, selectArr);    }    //初始化三个控件名字    if(document.getElementById("sn1")!=null && document.getElementById("sn2")!=null && document.getElementById("sn3")!=null)    {        var selectArr = new Array("sn1","sn2","sn3");        var liandong=new LianDong(array, selectArr);    }    </script> </html> 



以上是代码

比如我选择了 陕西省 西安市 市辖区

如何在点击查询或者提交按钮页面刷新后,选择项还保持在 陕西省 西安市 市辖区

[解决办法]
方法有2个
1,页面重新加载时,执行自动执行2次选择的过程
2,在后台加载数据并选中

读书人网 >C#

热点推荐