兄弟们朋友们帮忙看看,急急急急急急急急急

时间:2021-03-24 06:04:56
<script language="javascript">
  q=new Array();
  <%
  k=0
  do while not rs2.eof
  %>
  q[<%=k%>]=new Array("<%=trim(rs2(0))%>","<%=trim(rs2(1))%>","<%=trim(rs2(4))%>");
  <%
  k=k+1
  rs2.movenext
  loop
  rs2.close
  %>
  function snxz(){
  m=form1.pn.value;
  alert(q.length);
  var k=0;
  for(i=0;i<q.length;i++){
  if(q[i][2]==m){
  k+=1;
  }
  }
  form1.prrno.length=k;
  l=0;
  for(i=0;i<q.length;i++){
  if(q[i][2]==m){
  form1.prrno.options[l].text=q[i][1];
  form1.ssn.options[l].text=q[i][0];
  l+=1;
  }
  }
  }
  
  function fsnxz(){

  t=form1.prrno.options[l].text;
  alert(q.length);
  alert(t)
  var k=0;
  for(i=0;i<q.length;i++){
  if(q[i][1]==t){
  k+=1;
  }
  }
  form1.ssn.length=k;
  l=0;
  for(i=0;i<q.length;i++){
  if(q[i][1]==t){
  form1.ssn.options[l].text=q[i][0];
  l+=1;
  }
  }
  }                
  </script>
  <tr bgcolor="#ECECEC">
    <td>&nbsp;&nbsp;项目编号:</td>
    <%
if id<>"" then
%>
<td width="30%">&nbsp;<select name="pn">
<%
if trim(session("level"))<>"1" then
%>
<option value="<%=rs("projectno")%>"><%=rs("projectno")%></option>
<%do while not (rs2.EOF or err)%>
<option value="<%=rs2("projectno")%>"><%=rs2("projectno")%></option>
<%
rs2.MoveNext
loop
%>
<%else%>
<option value="<%=rs("projectno")%>"><%=rs("projectno")%></option>
<%end if%>
</select></td>
<%else%>

<%
if reno<>"" then
%>
<td width="30%">&nbsp;<select name="pn">
<option value="<%=rs5("projectno")%>" selected><%=rs5("projectno")%></option>
</select>
</td>
<%else%>
<td width="30%">&nbsp;<select name="pn" ID="Select7" onchange="snxz()">
<%
if trim(session("level"))<>"1" then
%>
<option selected>请选择</option>
<%do while not (rsa.EOF or err)%>
<option value="<%=trim(rsa("sequenceno"))%>"><%=trim(rsa("referenceno"))%></option>
<%
rsa.MoveNext
loop
%>
<%else%>
<option selected>请选择</option>
<%do while not (rs7.EOF or err)%>
<option value="<%=trim(rs7("sequenceno"))%>"><%=trim(rs7("referenceno"))%></option>
<%
rs7.MoveNext
loop
%>
<%end if%>
</select>
<select name="prrno" onchange="fsnxz()">
<option></option>
</select>
<select name="ssn">
<option></option>
</select>
</td>
<%end if%>
<%end if%>
    <td>&nbsp;</td>
  </tr>

21 个解决方案

#1


在fsnxz()里面
能不能调用所有的form1.prrno.option[].text 所有的text
[]里面怎么给值

#2


up

#3


可以参考以下程序
<select id=sel onchange=change(this)>
<option value=a1>a11</option>
<option value=a2>a22</option>
</select>
<script>
function change(id){
alert(id.options[id.selectedIndex].value);
alert(id.options[id.selectedIndex].text);
}
</script>

#4


有没有vbscript版的?

#5


vbs版的参考这个
<form id=f>
年<SELECT id=s1 name=s1 onchange="vbs:aaa"></SELECT>
月<SELECT id=s2 name=s2 onchange="vbs:aaa"></SELECT>
日<SELECT id=s3 name=s3></SELECT>
</form>
<SCRIPT LANGUAGE=vbscript>
'初始年
MyAdd "f.s1",1970,2050
'初始月
MyAdd "f.s2",1,12
'初始日
MyAdd "f.s3",1,31
sub MyAdd(S,x,y)'增加
set obj=eval(S)
for i=x to y
set o=document.createElement("OPTION")
o.text=i
o.value=i
obj.add o
next
end sub
sub MyRemove(S)'删除
set obj=eval(S)
for each opt in obj.options
obj.remove  opt.index
next 
end sub
sub aaa'自定义过程,用来改变s3日期
dim mydate,maxdate
'先清空全部,最好从28号以后清空,但是这样效率低人感觉不到,偷点懒不是罪
MyRemove "f.s3"
for i=1 to 31
mydate=f.s1.value & "-" & f.s2.value & "-" & i
if isdate(mydate) then '判断是否是有效日期
maxdate=i
else
exit for
end if
next
MyAdd "f.s3",1,maxdate
end sub
</SCRIPT>

#6


js的参考这个

<script language="JavaScript">
function initDate() {
var obj=document.all['dateform'];
var y=obj.year;
var m=obj.month;
var d=obj.date;
for (var i=1900;i<2004;i++) {
y.options.length=y.options.length+1;
y.options[y.options.length-1].text=y[y.options.length-1].value=i;
}
y.value=1978;
for (var i=0;i<12;i++) {
m.options.length=i+1;
m[i].value=i+1;
if (i<9) {
m.options[i].text="0"+(i+1);
} else {
m.options[i].text=i+1;
}
}
m.value=1;
for (var i=0;i<31;i++) {
d.options.length=i+1;
d[i].value=i+1;
if (i<9) {
d.options[i].text="0"+(i+1);
} else {
d.options[i].text=i+1;
}
}
d.value=1;
}
function setDate(obj) {
var y=obj.year.value;
var m=obj.month.value;
var d=obj.date;
var arrd=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (y%4==0) arrd[1]=29;
var md=arrd[m-1];
if (d.options.length>md) {
var index=d.value;
d.options.length=md;
if (index<md) {
d.value=index;
} else {
d.value=md;
}
}
if (d.options.length<md) {
for (var i=d.options.length;i<md;i++) {
d.options.length=d.options.length+1;
d[i].value=d.options[i].text=i+1;
}
}
}
</script>
<body onLoad="initDate()">
<form name="dateform">
<select name="year" onChange="setDate(this.form)"></select>年
<select name="month" onChange="setDate(this.form)"></select>月
<select name="date"></select>日
</form>
</body>

#7


for(i=0;i< form1.prrno.options.length;i++)
{

}

#8


你的程序这么长,怎么给你看,一点头绪都没有的……

#9


错误提示:

 'form1.ssn.options[...].text=q[i][0]' 为空或不是对象

请问怎么办啊?

#10


<FORM action="" method=POST id=form1 name=form1>
 <SELECT id=prrno name=prrno>
<OPTION value="dsf">dsfs</OPTION>

</SELECT>
</FORM>

<SCRIPT LANGUAGE=javascript>
 for(i=0;i< form1.prrno.options.length;i++)
{
alert(form1.prrno.options[i].text)
}

</SCRIPT>

#11


检查以下你的对象名称。

#12


function fsnxz(){
  for(r=0;r<form1.prrno.options.length;r++){
  t=(form1.prrno.options[r].text.trim());
  //alert(form1.prrno.options.length);
  //alert(q.length);
  //alert(t)
  }
  var k=0;
  for(i=0;i<q.length;i++){
  if(q[i][1]==t){
  k+=1;
  }
  }
  form1.ssn.length=k;
  //alert(k);
  c=0;
  for(i=0;i<q.length;i++){
  //alert(q.length)
  if(q[i][1]==t){
  form1.ssn.options[c].text=q[i][0];  //指显示一个值(最后一条记录)
  c=c+1;
  }
  }

我把snxz()"form1.ssn.options[l].text=q[i][0];"删掉就没错误了

但是经过测试:form1.ssn.options[c].text=q[i][0]; 好象就一个值(最后一天记录的值)

为什么啊?

#13


在第二个下拉菜单中,不管你选择那个值,第三个都只显示一个值(最后一条记录)

#14


q[i][0]

是不是空的啊?

#15


我测试已一下
alert(q[i][0]);


弹出就一个值阿“最后一天记录对应的值”
好象没循环的(i)

#16


for(i=0;i<q.length;i++)

这样循环有问题,q是二维数组啊

#17


那要怎么写啊?

#18


http://community.csdn.net/Expert/topic/2934/2934673.xml?temp=.6347925

数组的第一维

#19


在fsnxz()里面
能不能调用所有的form1.prrno.option[].text 所有的text
[]里面怎么给值


这个意思吗,只是简单的调用?

<script language="javascript">
<!--
  function fsnxz()
  {
    var ingc
    for (ingc=0;ingc<document.form1.prrno.length;ingc++)
    {
      alert(document.form1.prrno.options[ingc].text);
    }
  }
//-->
</script>

<form name=form1>
<select name=prrno>
<option>ag
<option>c
<option>eq
<option>dr
<option>by
</select>

<input type=button value=check onclick="fsnxz()">
</form>

#20


能不能谈谈id.options[id.selectedIndex]
selectindex的用法

#21


#1


在fsnxz()里面
能不能调用所有的form1.prrno.option[].text 所有的text
[]里面怎么给值

#2


up

#3


可以参考以下程序
<select id=sel onchange=change(this)>
<option value=a1>a11</option>
<option value=a2>a22</option>
</select>
<script>
function change(id){
alert(id.options[id.selectedIndex].value);
alert(id.options[id.selectedIndex].text);
}
</script>

#4


有没有vbscript版的?

#5


vbs版的参考这个
<form id=f>
年<SELECT id=s1 name=s1 onchange="vbs:aaa"></SELECT>
月<SELECT id=s2 name=s2 onchange="vbs:aaa"></SELECT>
日<SELECT id=s3 name=s3></SELECT>
</form>
<SCRIPT LANGUAGE=vbscript>
'初始年
MyAdd "f.s1",1970,2050
'初始月
MyAdd "f.s2",1,12
'初始日
MyAdd "f.s3",1,31
sub MyAdd(S,x,y)'增加
set obj=eval(S)
for i=x to y
set o=document.createElement("OPTION")
o.text=i
o.value=i
obj.add o
next
end sub
sub MyRemove(S)'删除
set obj=eval(S)
for each opt in obj.options
obj.remove  opt.index
next 
end sub
sub aaa'自定义过程,用来改变s3日期
dim mydate,maxdate
'先清空全部,最好从28号以后清空,但是这样效率低人感觉不到,偷点懒不是罪
MyRemove "f.s3"
for i=1 to 31
mydate=f.s1.value & "-" & f.s2.value & "-" & i
if isdate(mydate) then '判断是否是有效日期
maxdate=i
else
exit for
end if
next
MyAdd "f.s3",1,maxdate
end sub
</SCRIPT>

#6


js的参考这个

<script language="JavaScript">
function initDate() {
var obj=document.all['dateform'];
var y=obj.year;
var m=obj.month;
var d=obj.date;
for (var i=1900;i<2004;i++) {
y.options.length=y.options.length+1;
y.options[y.options.length-1].text=y[y.options.length-1].value=i;
}
y.value=1978;
for (var i=0;i<12;i++) {
m.options.length=i+1;
m[i].value=i+1;
if (i<9) {
m.options[i].text="0"+(i+1);
} else {
m.options[i].text=i+1;
}
}
m.value=1;
for (var i=0;i<31;i++) {
d.options.length=i+1;
d[i].value=i+1;
if (i<9) {
d.options[i].text="0"+(i+1);
} else {
d.options[i].text=i+1;
}
}
d.value=1;
}
function setDate(obj) {
var y=obj.year.value;
var m=obj.month.value;
var d=obj.date;
var arrd=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (y%4==0) arrd[1]=29;
var md=arrd[m-1];
if (d.options.length>md) {
var index=d.value;
d.options.length=md;
if (index<md) {
d.value=index;
} else {
d.value=md;
}
}
if (d.options.length<md) {
for (var i=d.options.length;i<md;i++) {
d.options.length=d.options.length+1;
d[i].value=d.options[i].text=i+1;
}
}
}
</script>
<body onLoad="initDate()">
<form name="dateform">
<select name="year" onChange="setDate(this.form)"></select>年
<select name="month" onChange="setDate(this.form)"></select>月
<select name="date"></select>日
</form>
</body>

#7


for(i=0;i< form1.prrno.options.length;i++)
{

}

#8


你的程序这么长,怎么给你看,一点头绪都没有的……

#9


错误提示:

 'form1.ssn.options[...].text=q[i][0]' 为空或不是对象

请问怎么办啊?

#10


<FORM action="" method=POST id=form1 name=form1>
 <SELECT id=prrno name=prrno>
<OPTION value="dsf">dsfs</OPTION>

</SELECT>
</FORM>

<SCRIPT LANGUAGE=javascript>
 for(i=0;i< form1.prrno.options.length;i++)
{
alert(form1.prrno.options[i].text)
}

</SCRIPT>

#11


检查以下你的对象名称。

#12


function fsnxz(){
  for(r=0;r<form1.prrno.options.length;r++){
  t=(form1.prrno.options[r].text.trim());
  //alert(form1.prrno.options.length);
  //alert(q.length);
  //alert(t)
  }
  var k=0;
  for(i=0;i<q.length;i++){
  if(q[i][1]==t){
  k+=1;
  }
  }
  form1.ssn.length=k;
  //alert(k);
  c=0;
  for(i=0;i<q.length;i++){
  //alert(q.length)
  if(q[i][1]==t){
  form1.ssn.options[c].text=q[i][0];  //指显示一个值(最后一条记录)
  c=c+1;
  }
  }

我把snxz()"form1.ssn.options[l].text=q[i][0];"删掉就没错误了

但是经过测试:form1.ssn.options[c].text=q[i][0]; 好象就一个值(最后一天记录的值)

为什么啊?

#13


在第二个下拉菜单中,不管你选择那个值,第三个都只显示一个值(最后一条记录)

#14


q[i][0]

是不是空的啊?

#15


我测试已一下
alert(q[i][0]);


弹出就一个值阿“最后一天记录对应的值”
好象没循环的(i)

#16


for(i=0;i<q.length;i++)

这样循环有问题,q是二维数组啊

#17


那要怎么写啊?

#18


http://community.csdn.net/Expert/topic/2934/2934673.xml?temp=.6347925

数组的第一维

#19


在fsnxz()里面
能不能调用所有的form1.prrno.option[].text 所有的text
[]里面怎么给值


这个意思吗,只是简单的调用?

<script language="javascript">
<!--
  function fsnxz()
  {
    var ingc
    for (ingc=0;ingc<document.form1.prrno.length;ingc++)
    {
      alert(document.form1.prrno.options[ingc].text);
    }
  }
//-->
</script>

<form name=form1>
<select name=prrno>
<option>ag
<option>c
<option>eq
<option>dr
<option>by
</select>

<input type=button value=check onclick="fsnxz()">
</form>

#20


能不能谈谈id.options[id.selectedIndex]
selectindex的用法

#21