Ajax实现DropDownList与ListBox联动效果

摘要:
单击按钮操作左侧和右侧列表框。最后,获取服务器端右侧ListBox值的过程:1.首先,获取DropDownList的数据源。在实际开发中,它通常来自数据库。我可以很容易地为这个演示创建一个新的DataTable。1privatevoidDllBindData()2{3DataTabletable=newDataTable;4DataColumncolumn;5DataRowrow;6column=newDataColumn();7column.DataType=System.Type.GetType;8column.ColumnName=“iSysCode”;9table.Column.Add;1011column=newDataColumn();12column.DataType=System.Type。GetType;13column.ColumnName=“cName”;14table.Colums.Add;1516row=table.NewRow());17row[“iSysCode]=1;18row[“cName“]=“编程语言”;19表.行。添加2021row=表格。NewRow();22行[“iSysCode”]=2;23row[“cName”]=“编程工具”;24表.行。添加2526row=表格。NewRow();27行[“iSysCode”]=3;28row[“cName”]=“数据库”;29表格.行。添加3031ddlCategory.DataSource=表。默认视图;32ddl类别。DataValueField=“iSysCode”;33ddl类别。DataTextField=“cName”;34ddl类别。DataBind();现在你有了数据,就可以开始操作了。在DropDownList发生更改时,在客户端事件中添加choose函数,并在choose_Item中调用sendRequest,从服务器请求相应的数据1函数choose2{3endRequest_Item;4}1函数sendRequest_Item//发送请求2{4url+=“/”+方法;4if(!

效果图:
Ajax实现DropDownList与ListBox联动效果第1张
目标:选择DropDownList,左侧ListBox从服务器端获取对应项。点击Button,对左、右侧ListBox进行操作。
             最后在服务器端获取右侧ListBox的值
过程:
         1、首先是给DropDownList弄个数据源,实际开发中一般都是从数据库去。我这演示方便就随便new 了个DataTable。


 1
private void DllBindData()
 
2    {
 
3        DataTable table = new DataTable("MyCategory");
 
4        DataColumn column;
 
5        DataRow row;
 
6        column = new DataColumn();
 
7        column.DataType = System.Type.GetType("System.Int32");
 
8        column.ColumnName = "iSysCode";
 
9        table.Columns.Add(column);
10
11        column = new DataColumn();
12        column.DataType = System.Type.GetType("System.String");
13        column.ColumnName = "cName";
14        table.Columns.Add(column);
15
16        row = table.NewRow();
17        row["iSysCode"= 1;
18        row["cName"= "编程语言";
19        table.Rows.Add(row);
20
21        row = table.NewRow();
22        row["iSysCode"= 2;
23        row["cName"= "编程工具";
24        table.Rows.Add(row);
25
26        row = table.NewRow();
27        row["iSysCode"= 3;
28        row["cName"= "数据库";
29        table.Rows.Add(row);
30
31        ddlCategory.DataSource = table.DefaultView;
32        ddlCategory.DataValueField = "iSysCode";
33        ddlCategory.DataTextField = "cName";
34        ddlCategory.DataBind();
35    }

         2、有了数据,下面就开始操作了。
              在DropDownList的客户端事件onchange中添加choose函数,choose中调用sendRequest_Item向服务器请求相应的数据

1Ajax实现DropDownList与ListBox联动效果第2张function choose(ddl)
2Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张            Ajax实现DropDownList与ListBox联动效果第5张{
3Ajax实现DropDownList与ListBox联动效果第6张               sendRequest_Item('http://localhost:83/WebService/Comment.asmx','GetItemList','Get','iCategoryID='+ddl.value+'');
4Ajax实现DropDownList与ListBox联动效果第7张            }
Ajax实现DropDownList与ListBox联动效果第8张Ajax实现DropDownList与ListBox联动效果第9张
 1Ajax实现DropDownList与ListBox联动效果第2张function sendRequest_Item(url, Method, HttpMethod,params) //发送请求
 2Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张Ajax实现DropDownList与ListBox联动效果第5张{
 3Ajax实现DropDownList与ListBox联动效果第6张    url += "/" + Method;
 4Ajax实现DropDownList与ListBox联动效果第6张    if (!HttpMethod)
 5Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张    Ajax实现DropDownList与ListBox联动效果第5张{
 6Ajax实现DropDownList与ListBox联动效果第6张        HttpMethod = "GET";  
 7Ajax实现DropDownList与ListBox联动效果第20张    }
  
 8Ajax实现DropDownList与ListBox联动效果第6张    req = getXMLRequester(); //建立组件
 9Ajax实现DropDownList与ListBox联动效果第6张    if (req) 
10Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张    Ajax实现DropDownList与ListBox联动效果第5张{
11Ajax实现DropDownList与ListBox联动效果第6张        req.onreadystatechange = processReqChange_Item;//调用[设定]进程监视函数
12Ajax实现DropDownList与ListBox联动效果第6张        req.open(HttpMethod, url, false);
13Ajax实现DropDownList与ListBox联动效果第6张        req.setRequestHeader("Host""localhost");//发布时要更正  Host
14Ajax实现DropDownList与ListBox联动效果第6张        req.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//一定要加上charset,否则有乱码
15Ajax实现DropDownList与ListBox联动效果第6张        req.setRequestHeader("Content-Length",params.length); 
16Ajax实现DropDownList与ListBox联动效果第6张        req.send(params); //发送数据参数
17Ajax实现DropDownList与ListBox联动效果第20张    }

18Ajax实现DropDownList与ListBox联动效果第7张}

19Ajax实现DropDownList与ListBox联动效果第2张function processReqChange_Item() 
20Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张Ajax实现DropDownList与ListBox联动效果第5张{
21Ajax实现DropDownList与ListBox联动效果第6张    // 监视数据传递。
22Ajax实现DropDownList与ListBox联动效果第6张    if (req.readyState == 4
23Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张    Ajax实现DropDownList与ListBox联动效果第5张{
24Ajax实现DropDownList与ListBox联动效果第6张        if (req.status == 200
25Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张        Ajax实现DropDownList与ListBox联动效果第5张{
26Ajax实现DropDownList与ListBox联动效果第6张            xmlResponse_Item();        // connect OK 执行输出函数out()
27Ajax实现DropDownList与ListBox联动效果第20张        }
 
28Ajax实现DropDownList与ListBox联动效果第6张        else 
29Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张        Ajax实现DropDownList与ListBox联动效果第5张//抛出错误
30Ajax实现DropDownList与ListBox联动效果第6张            alert("无法正常连接服务器,错误:\n" +
31Ajax实现DropDownList与ListBox联动效果第6张            req.statusText+":"+req.status);
32Ajax实现DropDownList与ListBox联动效果第20张        }

33Ajax实现DropDownList与ListBox联动效果第20张    }

34Ajax实现DropDownList与ListBox联动效果第7张}


         3、服务器端用了个WebService返回数据

Ajax实现DropDownList与ListBox联动效果第58张Ajax实现DropDownList与ListBox联动效果第59张
  1Ajax实现DropDownList与ListBox联动效果第2张[WebMethod]
  2Ajax实现DropDownList与ListBox联动效果第2张    public string GetItemList(int iCategoryID)
  3Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张    Ajax实现DropDownList与ListBox联动效果第5张{
  4Ajax实现DropDownList与ListBox联动效果第6张        string sbResult = "<Items>";
  5Ajax实现DropDownList与ListBox联动效果第6张        
  6Ajax实现DropDownList与ListBox联动效果第6张        DataTable dt = GetItemTable(iCategoryID);
  7Ajax实现DropDownList与ListBox联动效果第6张        foreach (DataRow dr in dt.Rows)
  8Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张        Ajax实现DropDownList与ListBox联动效果第5张{
  9Ajax实现DropDownList与ListBox联动效果第6张            sbResult += string.Format("<Item value='{0}'>{1}</Item>", dr["iSysCode"].ToString(), dr["cName"].ToString());            
 10Ajax实现DropDownList与ListBox联动效果第20张        }

 11Ajax实现DropDownList与ListBox联动效果第6张        sbResult+=("</Items>");
 12Ajax实现DropDownList与ListBox联动效果第6张        return sbResult;
 13Ajax实现DropDownList与ListBox联动效果第6张        
 14Ajax实现DropDownList与ListBox联动效果第7张    }

 15Ajax实现DropDownList与ListBox联动效果第2张    //模拟数据库数据源表
 16Ajax实现DropDownList与ListBox联动效果第2张    public DataTable GetItemTable(int iCategoryID)
 17Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张    Ajax实现DropDownList与ListBox联动效果第5张{
 18Ajax实现DropDownList与ListBox联动效果第6张        DataTable table = new DataTable("MyTable");
 19Ajax实现DropDownList与ListBox联动效果第6张        DataColumn column;
 20Ajax实现DropDownList与ListBox联动效果第6张        DataRow row;
 21Ajax实现DropDownList与ListBox联动效果第6张        column = new DataColumn();
 22Ajax实现DropDownList与ListBox联动效果第6张        column.DataType = System.Type.GetType("System.Int32");
 23Ajax实现DropDownList与ListBox联动效果第6张        column.ColumnName = "iSysCode";
 24Ajax实现DropDownList与ListBox联动效果第6张        table.Columns.Add(column);
 25Ajax实现DropDownList与ListBox联动效果第6张
 26Ajax实现DropDownList与ListBox联动效果第6张        column = new DataColumn();
 27Ajax实现DropDownList与ListBox联动效果第6张        column.DataType = System.Type.GetType("System.String");
 28Ajax实现DropDownList与ListBox联动效果第6张        column.ColumnName = "cName";
 29Ajax实现DropDownList与ListBox联动效果第6张        table.Columns.Add(column);
 30Ajax实现DropDownList与ListBox联动效果第6张
 31Ajax实现DropDownList与ListBox联动效果第6张        switch (iCategoryID)
 32Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张        Ajax实现DropDownList与ListBox联动效果第5张{
 33Ajax实现DropDownList与ListBox联动效果第6张            case 1:
 34Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 35Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 11;
 36Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "C#";
 37Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 38Ajax实现DropDownList与ListBox联动效果第6张
 39Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 40Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 12;
 41Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "Java";
 42Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 43Ajax实现DropDownList与ListBox联动效果第6张
 44Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 45Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 13;
 46Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "C++";
 47Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 48Ajax实现DropDownList与ListBox联动效果第6张
 49Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 50Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 14;
 51Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "VB";
 52Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 53Ajax实现DropDownList与ListBox联动效果第6张
 54Ajax实现DropDownList与ListBox联动效果第6张                break;
 55Ajax实现DropDownList与ListBox联动效果第6张            case 2:
 56Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 57Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 21;
 58Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "Visual Studio";
 59Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 60Ajax实现DropDownList与ListBox联动效果第6张
 61Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 62Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 22;
 63Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "JBuilder";
 64Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 65Ajax实现DropDownList与ListBox联动效果第6张
 66Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 67Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 23;
 68Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "Eclipse";
 69Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 70Ajax实现DropDownList与ListBox联动效果第6张                break;
 71Ajax实现DropDownList与ListBox联动效果第6张            case 3:
 72Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 73Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 31;
 74Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "MySQL";
 75Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 76Ajax实现DropDownList与ListBox联动效果第6张
 77Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 78Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 32;
 79Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "SQL Server";
 80Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 81Ajax实现DropDownList与ListBox联动效果第6张
 82Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 83Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 33;
 84Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "Oracle";
 85Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 86Ajax实现DropDownList与ListBox联动效果第6张
 87Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 88Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 34;
 89Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "DB2";
 90Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 91Ajax实现DropDownList与ListBox联动效果第6张                break;
 92Ajax实现DropDownList与ListBox联动效果第6张            default:
 93Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 94Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 11;
 95Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "C#";
 96Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
 97Ajax实现DropDownList与ListBox联动效果第6张
 98Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
 99Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 12;
100Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "Java";
101Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
102Ajax实现DropDownList与ListBox联动效果第6张
103Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
104Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 13;
105Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "C++";
106Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
107Ajax实现DropDownList与ListBox联动效果第6张
108Ajax实现DropDownList与ListBox联动效果第6张                row = table.NewRow();
109Ajax实现DropDownList与ListBox联动效果第6张                row["iSysCode"= 14;
110Ajax实现DropDownList与ListBox联动效果第6张                row["cName"= "VB";
111Ajax实现DropDownList与ListBox联动效果第6张                table.Rows.Add(row);
112Ajax实现DropDownList与ListBox联动效果第6张                break;
113Ajax实现DropDownList与ListBox联动效果第20张        }

114Ajax实现DropDownList与ListBox联动效果第6张        return table;
115Ajax实现DropDownList与ListBox联动效果第7张    }


         4、分析操作返回的数据(XML格式)这个是关键,在这花了我好长一段时间:用xmlDoc.getElementsByTagName("Item")方法得到的options,长度length总是为0,但确实是有数据返回;用responseText可以正确取出数据。在网上搜了半天也没找到一个适当的解决方法。郁闷n久之后,找到了问题所在,原来是数据被Encode了。这好办,咱就给他DeEncode呗。

Ajax实现DropDownList与ListBox联动效果第183张Ajax实现DropDownList与ListBox联动效果第184张
 1Ajax实现DropDownList与ListBox联动效果第2张function xmlResponse_Item() //输出函数【Success】
 2Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张Ajax实现DropDownList与ListBox联动效果第5张{
 3Ajax实现DropDownList与ListBox联动效果第6张    var xmlDoc   =   new ActiveXObject("MSXML2.DOMDocument.3.0");   
 4Ajax实现DropDownList与ListBox联动效果第6张    xmlDoc.async=false
 5Ajax实现DropDownList与ListBox联动效果第6张    xmlDoc.validateOnParse=false;   
 6Ajax实现DropDownList与ListBox联动效果第6张    xmlDoc.loadXML(html(req.responseText));//从服务器端传回的数据 HTML元素被Encode 所以在这用 html 函数反编码
 7Ajax实现DropDownList与ListBox联动效果第6张    
 8Ajax实现DropDownList与ListBox联动效果第6张    var lbItem = document.getElementById("lbItem");
 9Ajax实现DropDownList与ListBox联动效果第6张    lbItem.options.length=0;//清空列表框
10Ajax实现DropDownList与ListBox联动效果第6张    
11Ajax实现DropDownList与ListBox联动效果第6张    var options=xmlDoc.getElementsByTagName("Item");
12Ajax实现DropDownList与ListBox联动效果第6张    
13Ajax实现DropDownList与ListBox联动效果第6张    for (var i = 0;i<options.length;i++
14Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张    Ajax实现DropDownList与ListBox联动效果第5张{
15Ajax实现DropDownList与ListBox联动效果第6张        lbItem.add(new Option(options[i].text,options[i].getAttribute("value")));
16Ajax实现DropDownList与ListBox联动效果第20张    }

17Ajax实现DropDownList与ListBox联动效果第7张}


         5、这样一来,DropDownList就可以和左侧的ListBox实现联动了。接下来是如何操作它了。这里我只写了最上面两个按钮的点击实现,大家可以根据自己的需要实现其他的两个。看一下JS代码:

Ajax实现DropDownList与ListBox联动效果第206张Ajax实现DropDownList与ListBox联动效果第207张
 1Ajax实现DropDownList与ListBox联动效果第2张//移动项
 2Ajax实现DropDownList与ListBox联动效果第2张            function move(type)
 3Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张            Ajax实现DropDownList与ListBox联动效果第5张{
 4Ajax实现DropDownList与ListBox联动效果第6张                var lbItem=document.getElementById("lbItem");//左侧列表
 5Ajax实现DropDownList与ListBox联动效果第6张                var lbResult=document.getElementById("lbResult");//右侧列表
 6Ajax实现DropDownList与ListBox联动效果第6张                if(type=="right")//单项右移
 7Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张                Ajax实现DropDownList与ListBox联动效果第5张{
 8Ajax实现DropDownList与ListBox联动效果第6张                    var selIndex=lbItem.selectedIndex;//取出选中项索引
 9Ajax实现DropDownList与ListBox联动效果第6张                    if(lbItem.selectedIndex==-1)//没有选择                    
10Ajax实现DropDownList与ListBox联动效果第6张                        selIndex=0;//没有选择,设为第一项                    
11Ajax实现DropDownList与ListBox联动效果第6张                    //1.取出选中项内容,移除当前List项
12Ajax实现DropDownList与ListBox联动效果第6张                    var text=lbItem.options[selIndex].text;    
13Ajax实现DropDownList与ListBox联动效果第6张                    var value=lbItem.options[selIndex].value;                
14Ajax实现DropDownList与ListBox联动效果第6张                    
15Ajax实现DropDownList与ListBox联动效果第6张                    if(IsExist(lbResult,text)==true)
16Ajax实现DropDownList与ListBox联动效果第6张                        return;
17Ajax实现DropDownList与ListBox联动效果第6张                    lbItem.remove(selIndex);
18Ajax实现DropDownList与ListBox联动效果第6张                    //2.增加目标List
19Ajax实现DropDownList与ListBox联动效果第6张                    var option=new Option(text,value,true,true);
20Ajax实现DropDownList与ListBox联动效果第6张                    lbResult.add(option);                    
21Ajax实现DropDownList与ListBox联动效果第20张                }

22Ajax实现DropDownList与ListBox联动效果第6张                if(type=="rightAll")//右移左侧所有项
23Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张                Ajax实现DropDownList与ListBox联动效果第5张{
24Ajax实现DropDownList与ListBox联动效果第6张                    //lbResult.options.length=0;//清空目标List
25Ajax实现DropDownList与ListBox联动效果第6张                    for(var i=0;i<lbItem.length;i++)
26Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张                    Ajax实现DropDownList与ListBox联动效果第5张{
27Ajax实现DropDownList与ListBox联动效果第6张                        var text=lbItem.options[i].text;
28Ajax实现DropDownList与ListBox联动效果第6张                        var value=lbItem.options[i].value;    
29Ajax实现DropDownList与ListBox联动效果第6张                        if(IsExist(lbResult,text)==false)//只有目标List没有的才添加
30Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张                        Ajax实现DropDownList与ListBox联动效果第5张{                        
31Ajax实现DropDownList与ListBox联动效果第6张                            lbResult.add(new Option(text,value,true,true));
32Ajax实现DropDownList与ListBox联动效果第20张                        }

33Ajax实现DropDownList与ListBox联动效果第20张                    }

34Ajax实现DropDownList与ListBox联动效果第6张                    
35Ajax实现DropDownList与ListBox联动效果第6张                    lbItem.options.length=0;//清空所操作的List
36Ajax实现DropDownList与ListBox联动效果第20张                }

37Ajax实现DropDownList与ListBox联动效果第7张            }

38Ajax实现DropDownList与ListBox联动效果第2张            //所选项是否在指定列表框 已经存在
39Ajax实现DropDownList与ListBox联动效果第2张            function IsExist(item,text)
40Ajax实现DropDownList与ListBox联动效果第3张Ajax实现DropDownList与ListBox联动效果第4张            Ajax实现DropDownList与ListBox联动效果第5张{
41Ajax实现DropDownList与ListBox联动效果第6张                var result=false;
42Ajax实现DropDownList与ListBox联动效果第6张                for(var i=0;i<item.length;i++)
43Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张                Ajax实现DropDownList与ListBox联动效果第5张{
44Ajax实现DropDownList与ListBox联动效果第6张                    if(item.options[i].text==text)
45Ajax实现DropDownList与ListBox联动效果第16张Ajax实现DropDownList与ListBox联动效果第17张                    Ajax实现DropDownList与ListBox联动效果第5张{
46Ajax实现DropDownList与ListBox联动效果第6张                        result=true;
47Ajax实现DropDownList与ListBox联动效果第20张                    }

48Ajax实现DropDownList与ListBox联动效果第20张                }

49Ajax实现DropDownList与ListBox联动效果第6张                return result;
50Ajax实现DropDownList与ListBox联动效果第7张            }


         6、进行到这里,右侧的ListBox已经有了结果项了。剩下的是如何在服务器端获取这部分数据。Test了几下表明用Request.Form这种根本无法直接获取到所需数据。那只好转个弯,先将数据放在hiddenField里,然后在服务器端方法里取出来。OK,大功告成!

感受:
 本来以为弄这么个小东西顶多一上午时间就够了,没想到中间出现了不少问题,一个个解决后,发现竟然用了我一整天(包括晚上啊)的时间。唉,看来做什么事都不能大意啊。另外,大家有什么更好的方法,欢迎一起研究研究,呵呵!

免责声明:文章转载自《Ajax实现DropDownList与ListBox联动效果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深入理解HashMap第一篇用plist建立UITabController下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于ElementUi封装table组件——包含表头工具栏、多级表头、合并行、分页

表格组件WTable.vue <template> <div class="wTable"> <!--头部工具栏 --> <div v-if="tools && tools.length>0 && tools[0].label"class...

php mysql jquery ajax 查询数据库三级联动

1、php 页面打开直接展示第一个select option中的数据 2、当第一个下拉列表选中的内容发生改变的时候,查询数据库填充第二个下拉列表 3、当第二个下拉列表选中的内容发生改变时,查询数据库填充第三个下拉列表 注意点: 1、查询出来的数据,如果绑定到select上 2、select cochange事件 3、ajax 请求,提交到某个php 页面,...

MySQL-死锁查询

1、查询是否锁表 show OPEN TABLES where In_use > 0; 查询到相对应的进程 === 然后 killid 2、查询进程 show processlist 补充: 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务 SELECT * FROM I...

[转]Android 操作SQLite基本用法

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入...

HashMap在并发下可能出现的问题分析

我们都知道,HashMap在并发环境下使用可能出现问题,但是具体表现,以及为什么出现并发问题,可能并不是所有人都了解,这篇文章记录一下HashMap在多线程环境下可能出现的问题以及如何避免。 在分析HashMap的并发问题前,先简单了解HashMap的put和get基本操作是如何实现的。 1.HashMap的put和get操作 大家知道HashMap内部实...

配合JAVA的AJAX使用

概要 Ajax是“Asynchronous JavaScript and XML”的简称,即异步的JavaScript和XML。 readyState属性用来返回当前的请求状态,有五个可选值。分别是0到4,每个值的含义如下描述。 0:“未初始化”状态, 表示已经创建一个XMLHttpRequest对象,但是还没有初始化请求对象。 1:“打开”状态,表示已经...