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> 项目编号:</td>
<%
if id<>"" then
%>
<td width="30%"> <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%"> <select name="pn">
<option value="<%=rs5("projectno")%>" selected><%=rs5("projectno")%></option>
</select>
</td>
<%else%>
<td width="30%"> <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> </td>
</tr>
21 个解决方案
#1
在fsnxz()里面
能不能调用所有的form1.prrno.option[].text 所有的text
[]里面怎么给值
能不能调用所有的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>
<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>
<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>
<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]' 为空或不是对象
请问怎么办啊?
'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>
<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]; 好象就一个值(最后一天记录的值)
为什么啊?
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)
alert(q[i][0]);
弹出就一个值阿“最后一天记录对应的值”
好象没循环的(i)
#16
for(i=0;i<q.length;i++)
这样循环有问题,q是二维数组啊
这样循环有问题,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>
能不能调用所有的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的用法
selectindex的用法
#21
顶
#1
在fsnxz()里面
能不能调用所有的form1.prrno.option[].text 所有的text
[]里面怎么给值
能不能调用所有的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>
<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>
<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>
<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]' 为空或不是对象
请问怎么办啊?
'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>
<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]; 好象就一个值(最后一天记录的值)
为什么啊?
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)
alert(q[i][0]);
弹出就一个值阿“最后一天记录对应的值”
好象没循环的(i)
#16
for(i=0;i<q.length;i++)
这样循环有问题,q是二维数组啊
这样循环有问题,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>
能不能调用所有的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的用法
selectindex的用法
#21
顶