我的二級連動

來源:互聯網
上載者:User

小胖幫忙解決了用JS實現的連動,同時我用另外一種方法實現了 ,自此對指令碼的數組和select有了新的認識

 

<%@ page contentType="text/html; charset=GB18030" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@page import="checkNumber.CityBean" %>
<%@page import="java.util.ArrayList" %>
<html>
<head>
<title>
selectTest
</title>
</head>
<body bgcolor="#ffffff">
<a href="select2Action.do">GO</a>

<form method="post" action="selectTest.jsp">
<br><br>
select1
<select name="select1" onchange="select2Show(this)">
  <option value="0" selected="selected">--select--</option>
  <option value="1">湖北</option>
  <option value="2">河南</option>
</select>

<br>
select2
<select name="select2">
  <option value="0" selected="selected">--select--</option>

</select>

<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>

<script language="javascript">
var qq=new Array();
var  count=0;

<%
ArrayList list=null;
CityBean bean=new CityBean();
if(request.getAttribute("citylist")!=null)
{
  list=(ArrayList)request.getAttribute("citylist");
  for(int i=0;i<list.size();i++)
  {
    bean=(CityBean)list.get(i);
%>
 qq[count]=new Array("<%=bean.getProvinceId()%>","<%=bean.getId()%>","<%=bean.getCityName()%>");
 count++;
 
// 方法三:
// qq.push(CreateNewOperion("<%=bean.getProvinceId()%>","<%=bean.getId()%>","<%=bean.getCityName()%>"));
<%
  }
}
%>

function select2Show(s)
{
  ClearAll(document.all.select2);
  for(var j=0;j<count;j++)
  {
    if(s.value==qq[j][0])
    {
      var op=new Option();
//      //方法二
//      document.all.select2.options[j]=new Option(qq[j][2], qq[j][1]);
     
//      方法一
      op.value=qq[j][1];
      op.text=qq[j][2];
      document.all.select2.add(op,j);
    }
  }
 
//  方法三:
//  ClearAll(document.all.select2);
//  for(var j=0;j<qq.length;j++)
//  {
//
//    if(s.value==qq[j].id){
//      alert(qq[j].id);
//      document.all.select2.add(qq[j]);}
//  }
}

function CreateNewOperion(optionId,optionValue,optionText)
{
  var newOption=new Option();
  newOption.id=optionId;
  newOption.value=optionValue;
  newOption.text=optionText;
  return newOption;
}

function ClearAll(selectobj)
{
  for(var i=selectobj.options.length;i>0;i--)
    selectobj.options.remove(0);
}
</script>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.