没有人回答我的问题吗?还是我的问题说得不够清楚。我是想实现这样的功能。
jsp页面有2个下拉菜单,“产品”的下拉菜单显示的选项取决于“公司”下拉菜单选择的选项。
例如,我在“公司”下拉菜单选择“微软”,“产品”下拉菜单的所有选项自动变成微软公司的产品,例如word,excel,windowsXP等等,当我选择“惠普”后,“产品”选项就变成NC6000笔记本,服务器等等。如何实现。
jsp页面有2个下拉菜单,“产品”的下拉菜单显示的选项取决于“公司”下拉菜单选择的选项。
例如,我在“公司”下拉菜单选择“微软”,“产品”下拉菜单的所有选项自动变成微软公司的产品,例如word,excel,windowsXP等等,当我选择“惠普”后,“产品”选项就变成NC6000笔记本,服务器等等。如何实现。
解决方案 »
- 怎么实现用户退出功能,退出后按浏览器后退按钮,返回的是用户登录界面
- hql--Unable to locate appropriate constructor on class
- Java EE项目用哪种技术比较好?
- 遇到点问题,请高手指教`~~~
- 100分,问一个很简单The requested resource (/blog/) is not available问题
- Iterator 与 Enumeration
- 关于日期的问题。。。。。
- 明明不是要显示这个页面,可每次都是这个页面,
- 有什么好方法学习Dhtml,(表单的跳转关系,提交等等)
- 问两个关于JDBC操作方面的问题
- javabean包含
- jspSmartUpload组件怎样对上传的文件进行重命名操作?望有识之士指教一二,多谢!
<script>
function select()
{
switch(document.form1.user.option[document.form1.useruser.selectdIndex].value
{
case"工商银行":
{
document.form1.user.option[0].selectd=true;return
}
case"建设银行"
{
document.form1.user.option[1].selsectd=true;return
}
case"农业银行"
{
document.form1.user.option[2].selsectd=true;return
}
}
}
</script>
<body>
<form name="form1" method="post" action="*.asp">
<select name="useruser" onchange="select()">
<option selecd>选择银行</option>
<option value="50000w">50000w</option>
<option value="100000w>100000w</option>
<option vlaue="200000w>200000w</option>
</select>
<slect name="user">
<option value="a">A</option>
<option value="b">B</option>
<option vlaue="c">C</option>
</select>
http://community.csdn.net/Expert/topic/3472/3472337.xml?temp=.1701624
选中‘公司’菜单后需要对‘产品’菜单进行遍历
这样才能找出全部你所需要的结果
具体的去搜一下,这方面的好多javascript是在客户端执行的,不能对服务器操作
可以这样
<script>
<%...%>
</script>
道理一样的,因为服务器端的代码先加载
company products
-------- ----------
HP NC6000
MicroSoft WindowsServer2003
HP HP1120
MicroSoft WindowsXP
MicroSoft Office<script language="JavaScript" type="text/JavaScript">
function ChangeList(Obj){
document.all.products.length=1
if(Obj.value>0){
thelist=eval("d"+Obj.value)
for (var i=0;i<eval(thelist).length;i++){
document.all.products.options[i+1]=new Option(eval(thelist)[i])
}
}
}
</script>
<%
response.Write("部门:<select name='company' id='company' OnChange='ChangeList(this)'><option selected>选择公司 </option>")
dim strP,allP
set Conn= Server.CreateObject("ADODB.Connection")
Conn.Connectionstring= ".................."
Conn.open
allP="<script language='JavaScript' type='text/JavaScript'>"
set Rs_C= Server.CreateObject("ADODB.Recordset")
set Rs_P= Server.CreateObject("ADODB.Recordset")
Rs_P.open "select * from productInfo",Conn,1,1
Rs_C.open "select company from productInfo group by company",Conn,1,1
x=1
While NOT Rs_C.EOF
response.Write("<option value='"&x&"'>"&trim(Rs_C("company"))&"</option>"&chr(13))
Rs_P.Filter= "company='"&Rs_C("company")&"'"
While NOT Rs_P.EOF
strP=strP&"'"&trim(Rs_P("products"))&"',"
Rs_P.MoveNext
wend
allP=allP&chr(13)&"var d"&x&"=new Array("&left(strP,len(strP)-1)&")"
strP=""
Rs_C.MoveNext
x=x+1
wend
allP=chr(13)&allP&chr(13)&"</script>"
Rs_P.close
set Rs_P=nothing
Rs_C.close
set Rs_C=nothing
Conn.close
set Conn=nothing
response.Write("</select>")
Response.Write(allP)
Response.Write("产品:<select name='products' id='products'><option value='0' selected>选择产品 </option></select>")
%>前段时间做的
这个关联菜单让我明白了自己的js有多差劲
反正功能是实现了
思路都是一样
用jsp生成的东西送到客户端是下面这个样子就成<script language="JavaScript" type="text/JavaScript">
function ChangeList(Obj){
document.all.products.length=1
if(Obj.value>0){
thelist=eval("d"+Obj.value)
for (var i=0;i<eval(thelist).length;i++){
document.all.products.options[i+1]=new Option(eval(thelist)[i])
}
}
}
</script>
部门:<select name='company' id='company' OnChange='ChangeList(this)'>
<option selected>选择公司 </option>
<option >MicroSoft</option>
<option >HP</option>
</select>
<script language="JavaScript" type="text/JavaScript">
var d1=new Array("WindowsServer2003","WindowsXP","office")
var d2=new Array("NC6000","HP1120")
</script>
产品:<select name='products' id='products'>
<option value='0' selected>选择产品 </option>
</select>
<option value="2">HP</option>
option里面给上value就对了
上面的asp代码就是好的
<option >HP</option>
</select>
<script language="JavaScript" type="text/JavaScript">
var d1=new Array("WindowsServer2003","WindowsXP","office")
var d2=new Array("NC6000","HP1120")
</script>
就以上这部分是在服务器根据数据库的数据动态生成,其他的都一样
只能说到这样了,要不我就得学jsp了
http://fason.nease.net/samples/select/
个人建议用xmlhttp
jsp的文件就很简单了
祝好运
<form name="form1" method="post" action="">
<tr>
<td nowrap> 地区
<select name="country" class="formElem" onchange="javascript:changeCountry(this);">
<option selected>国家</option>
</select>
<select name="province" class="formElem" onchange="changeProvince(this);">
<option selected>省份</option>
</select>
<select name="city" class="formElem">
<option selected>地级</option>
</select>
</td>
</tr>
</form>
<SCRIPT language=javascript>
<!-- //area methods
function Area(catid,id,title) {
this.catid=catid;
this.id=id;
this.title=title;
this.getOption=getOption;
} function getOption() {
return new Option(this.title,this.id);
}
//选择省份的函数
function changeProvince(list) {
var len;
var tmpId;
var tmpNum=1;
//清空地级的列表值
len = cityForm.options.length;
for (var i=len-1;i>0;i--){
cityForm.options[i]=null;
}
//如果选择了省份,则取地级列表值
if (list.selectedIndex>0) {
//得到省份的ID
tmpId = list.options[list.selectedIndex].value;
//得到地级数组的长度
len=CityArr.length;
//根据省份ID来取相应的地级
for (var i=0;i<len;i++) {
if (CityArr[i].catid==tmpId) {
cityForm.options[tmpNum]=CityArr[i].getOption();
tmpNum++;
}
}
}
//使地级默认状态
cityForm.options[0].selected=true;
}
//选择国家的函数
function changeCountry(list){
var len;
var tmpId;
var tmpNum=1;
//清空省份的列表值
len = provinceForm.options.length;
for (var i=len-1;i>0;i--){
provinceForm.options[i]=null;
}
//清空地级的列表值
len=cityForm.options.length;
for (var i=len-1;i>0;i--){
cityForm.options[i]=null;
}
//如果选择了国家,则取省份列表
if (list.selectedIndex>0) { //得到国家的ID
tmpId = list.options[list.selectedIndex].value; //得到省份数组的长度
len=ProvinceArr.length;
//根据国家ID来取相应的省份
for (var i=0;i<len;i++) {
if (ProvinceArr[i].catid==tmpId) {
provinceForm.options[tmpNum]=ProvinceArr[i].getOption();
tmpNum++;
}
}
}
//使省份和地级默认状态
provinceForm.options[0].selected=true;
cityForm.options[0].selected=true; } //static methods
var CountryArr = new Array(); //国家数组
var ProvinceArr = new Array(); //省份数组
var CityArr = new Array(); //地级数组 var countryForm = document.all.country;
var provinceForm = document.all.province;
var cityForm = document.all.city;
//赋值国家列表框
countryForm.options[1] = new Option("中国",1);
countryForm.options[2] = new Option("日本",2);
//取国家 "1" 代表中国 "2" 代表日本
CountryArr =CountryArr.concat(new Area(0,1,'中国')); CountryArr =CountryArr.concat(new Area(0,2,'日本'));
//取省份
ProvinceArr=ProvinceArr.concat(new Area(1,3,'福建'));
ProvinceArr=ProvinceArr.concat(new Area(1,4,'江苏'));
ProvinceArr=ProvinceArr.concat(new Area(2,5,'东京'));
ProvinceArr=ProvinceArr.concat(new Area(2,6,'大阪'));
//取城市
CityArr=CityArr.concat(new Area(3,7,'厦门'));
CityArr=CityArr.concat(new Area(3,8,'福州'));
CityArr=CityArr.concat(new Area(4,9,'苏州'));
CityArr=CityArr.concat(new Area(4,10,'南京'));
CityArr=CityArr.concat(new Area(5,11,'东京1'));
CityArr=CityArr.concat(new Area(6,12,'大阪1'));
-->
</script>
</table>
把这个帖在jsp区弄个链接
这段代码你可以用,你所作的只要用JSP生成这个数组就行了。另外我这段代码就是用在JSP里面的。
有ERP源码和文档
http://www.czrx.com/get.asp?get=iamcfr