有个vbscript函数转成javascript,请javascript高手帮下忙,谢谢
sub chgbm
dim i,e,j,ba
for i= 0 to frmxx.dxry.options.length-1
frmxx.dxry.options.remove 0
next
for i=1 to ubound(ary,2)
if frmxx.bm.value=ary(2,i) or frmxx.bm.value="X" then
ba=0
for j=0 to frmxx.yxry.length-1
if ary(0,i)=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=ary(0,i)
e.text=ary(1,i)
frmxx.dxry.options.add e
end if
end if
next
end sub
sub chgbm
dim i,e,j,ba
for i= 0 to frmxx.dxry.options.length-1
frmxx.dxry.options.remove 0
next
for i=1 to ubound(ary,2)
if frmxx.bm.value=ary(2,i) or frmxx.bm.value="X" then
ba=0
for j=0 to frmxx.yxry.length-1
if ary(0,i)=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=ary(0,i)
e.text=ary(1,i)
frmxx.dxry.options.add e
end if
end if
next
end sub
感觉是操作 select option 的
<%
dim rs
set rs=server.CreateObject("adodb.recordset")
dim ary()
redim ary(3,0)
dim syxrylb,sbxrylb
sbxrylb = Request("bxrylb")&"" '不需要在这里选择的人员列表
syxrylb=Request.QueryString("yxrylb")
syxrylb=trim(syxrylb)%>
<table align="center" width="490" class="InputFrameMain" style="margin-left:7px"><tr><td><table width=470 border=0 align=center cellpadding=0 cellspacing=0 style="Margin:5px 5px 5px 5px">
<form method=post name=frmxx id=frmxx>
<tr class=InputFrameLine>
<td width=60 class='inputlabelcell' nowrap>选择人员</td>
<td class=inputareacell width=350><input type="radio" value="V1" name="R1" onclick="vbscript:usebm" Checked>按部门选择 <input type="radio" value="V1" name="R1" onclick="vbscript:usezw" >按职位选择 <input type="radio" value="V1" name="R1" onclick="vbscript:useug" >按工作组选择</td>
</tr>
<tr class=InputFrameLine>
<td width=60 class='inputlabelcell' align=right nowrap>部门/职位</td>
<td class=inputareacell>
<select id=bm name=bm style="display:inline" onchange="" style="width:100%">
<option value="X" selected>所有部门</option>
<%
ssql="select * from rs_bmb where ztbz='0' order by bmbh"
rs.Open ssql,conn,1,1
do while not rs.EOF
%>
<option value="<%=rs("bmbh")%>" <%if sdata=rs("bmbh") then Response.Write "selected"%>>
<%=replace(string(len(rs("bmbh"))-2,"a"),"a"," ") & server.HTMLEncode(rs("bmmc") & "")%></option>
<%
rs.MoveNext
loop
rs.Close
%>
</select>
<select id=zw name=zw style="display:none" onchange="vbscript:chgzw" style="width:100%">
<option value="X" selected>所有职位</option>
<%
ssql="select a.*,b.bmmc from oa_qx_zw a,rs_bmb b where a.bmbh=b.bmbh"
rs.Open ssql,conn,1,1
do while not rs.EOF
%>
<option value="<%=rs("zwbh")%>" <%if cstr(sdata)=cstr(rs("zwbh")) then Response.Write "selected"%>><%=server.HTMLEncode(rs("bmmc") & "/" & rs("zwmc") & "")%></option>
<%
rs.MoveNext
loop
rs.Close
%>
</select>
<select id=ug name=ug style="display:none" onchange="vbscript:chgug" style="width:100%">
<option value="X" selected>所有工作组</option>
<%
ssql="select * from OA_UserGroup where IsUse = 0 "
rs.Open ssql,conn,1,1
do while not rs.EOF
%>
<option value="<%=rs("GroupID")%>" <%if cstr(sdata)=cstr(rs("GroupID")) then Response.Write "selected"%>>
<%=server.HTMLEncode(rs("GroupName"))%>
</option>
<%
rs.MoveNext
loop
rs.Close
%>
</select>
</td>
</tr>
<tr class=InputFrameLine>
<td colspan=2 class=inputareacell>
<table width=100% class=tableframe>
<tr align=center class=listtitle>
<td class=listcelltitle>可选人员</td>
<td class=listcelltitle> </td>
<td class=listcelltitle>已选人员</td>
</tr>
<tr align=center>
<td>
<select id=dxry name=dxry style="display:inline" size=9 rows=9 style="width: 100%" ondblclick="addAttendee();">
<%
ssql="select ygbh,ygxm,ssbm,zw,GroupID from rs_ygb where ryzt='0' or ryzt='2' order by ygxm asc"
rs.Open ssql,conn,1,1
dim i
redim ary(4,rs.RecordCount)
for i=1 to rs.RecordCount
ary(0,i)=rs("ygbh")
ary(1,i)=rs("ygxm")
ary(2,i)=rs("ssbm")
ary(3,i)=rs("zw")
ary(4,i)=rs("GroupID")
if sbxrylb<> "" then
if instr("," & sbxrylb & ",","," & rs("ygbh") & ",")=0 then
%>
<option value=<%=rs("ygbh")%>><%=server.HTMLEncode(rs("ygxm") & "")%></option>
<%
end if
else
if instr("," & syxrylb & ",","," & rs("ygbh") & ",")=0 then
%>
<option value=<%=rs("ygbh")%>><%=server.HTMLEncode(rs("ygxm") & "")%></option>
<%
end if
end if
rs.MoveNext
next
rs.Close
%>
</select>
</td>
<td valign=center width=40>
<span valign=center>
<input type=button class=button value="全选" id=bsall name=bsall onclick="vbscript:dosall">
<br>
<br>
<input type=button class=button value="全清" id=bsnone name=bsnone onclick="vbscript:dosnone">
</span>
</td>
<td class=row>
<select id=yxry name=yxry style="display:inline" size=9 rows=9 style="width: 100%" ondblclick="removeAttendee();">
<%
if syxrylb<>"" then
ssql="select ygbh,ygxm from rs_ygb where (ryzt='0' or ryzt='2') and ygbh in (" & syxrylb & ")"
rs.Open ssql,conn,1,1
for i=1 to rs.RecordCount
%>
<option value=<%=rs("ygbh")%>><%=server.HTMLEncode(rs("ygxm") & "")%></option>
<%
rs.MoveNext
next
rs.Close
end if
%>
</select>
</td>
</tr>
</table>
</td>
</tr>
<input type="hidden" name="srcOrgID" value=""><!--for display org-->
<input type="hidden" name="strselUserText" value="">
<input type="hidden" name="selUserValue" value="">
<tr class=InputFrameButtonLine>
<td align="center" colspan=2>
<input type=button class=button value=确定 name="bQD" id="bQD" onclick="vbscript:doSave">
<input type=button class=button value=放弃 name="bFQ" id="bFQ" onclick='vbscript:window.close'>
<td>
</tr>
</form>
</table></td></tr></table>
<%
set rrs = nothing
Conn.Close
set conn = nothing
%>
</BODY>
</html>
<!--
dim ary()
redim ary(4,0)
<%
Response.Write "redim ary(4," & ubound(ary,2) & ")" & vbcrlf
for i= 0 to ubound(ary,2)
Response.Write "ary(0," & i & ")=""" & ary(0,i) & """" & vbcrlf
Response.Write "ary(1," & i & ")=""" & ary(1,i) & """" & vbcrlf
Response.Write "ary(2," & i & ")=""" & ary(2,i) & """" & vbcrlf
Response.Write "ary(3," & i & ")=""" & ary(3,i) & """" & vbcrlf
Response.Write "ary(4," & i & ")=""" & ary(4,i) & """" & vbcrlf
next
%>
<%if stag="zw" then%>
usezw
frmxx.R1(1).checked=true
<%elseIf stag = "ug" Then%>
useug
frmxx.R1(2).checked=true
<%else%>
usebm
frmxx.R1(0).checked=true
<%end if%> sub usebm
frmxx.bm.style.display="inline"
frmxx.zw.style.display="none"
frmxx.ug.style.display="none"
end sub
sub usezw
frmxx.zw.style.display="inline"
frmxx.bm.style.display="none"
frmxx.ug.style.display="none"
end sub
sub useug
frmxx.ug.style.display="inline"
frmxx.zw.style.display="none"
frmxx.bm.style.display="none"
end sub
sub chgbm
dim i,e,j,ba
for i= 0 to frmxx.dxry.options.length-1
frmxx.dxry.options.remove 0
next
for i=1 to ubound(ary,2)
if frmxx.bm.value=ary(2,i) or frmxx.bm.value="X" then
ba=0
for j=0 to frmxx.yxry.length-1
if ary(0,i)=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=ary(0,i)
e.text=ary(1,i)
frmxx.dxry.options.add e
end if
end if
next
end sub
sub chgug
dim i,e,j,ba
for i= 0 to frmxx.dxry.options.length-1
frmxx.dxry.options.remove 0
next
for i=1 to ubound(ary,2)
if instr("," & ary(4,i) & ",", "," & frmxx.ug.value & ",")>0 or frmxx.ug.value="X" then
ba=0
for j=0 to frmxx.yxry.length-1
if ary(0,i)=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=ary(0,i)
e.text=ary(1,i)
frmxx.dxry.options.add e
end if
end if
next
end sub sub chgzw
dim i,e,j,ba
for i= 0 to frmxx.dxry.options.length-1
frmxx.dxry.options.remove 0
next
for i=1 to ubound(ary,2)
if instr("," & ary(3,i) & ",", "," & frmxx.zw.value & ",")>0 or frmxx.zw.value="X" then
ba=0
for j=0 to frmxx.yxry.length-1
if ary(0,i)=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=ary(0,i)
e.text=ary(1,i)
frmxx.dxry.options.add e
end if
end if
next
end sub sub dosall
dim i,j,ba
for i= 0 to frmxx.dxry.options.length-1
ba=0
for j=0 to frmxx.yxry.length-1
if frmxx.dxry.item(i).value=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=frmxx.dxry.item(i).value
e.text=frmxx.dxry.item(i).text
frmxx.yxry.options.add e
end if
next
for i= 0 to frmxx.dxry.options.length-1
frmxx.dxry.options.remove 0
next
end sub
sub dosnone
dim i,j,ba
for i= 0 to frmxx.yxry.options.length-1
ba=0
for j=0 to frmxx.dxry.length-1
if frmxx.yxry.item(i).value=frmxx.dxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=frmxx.yxry.item(i).value
e.text=frmxx.yxry.item(i).text
frmxx.dxry.options.add e
end if
next
for i= 0 to frmxx.yxry.options.length-1
frmxx.yxry.options.remove 0
next
end sub sub dodsone
dim i,j,ba
if frmxx.yxry.options.length=0 then exit sub
ba=0
for j=0 to frmxx.dxry.length-1
if frmxx.yxry.item(frmxx.yxry.selectedIndex).value=frmxx.dxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=frmxx.yxry.item(frmxx.yxry.selectedIndex).value
e.text=frmxx.yxry.item(frmxx.yxry.selectedIndex).text
frmxx.dxry.options.add e
end if
frmxx.yxry.options.remove frmxx.yxry.selectedIndex
end sub sub dosone
dim i,j,ba
if frmxx.dxry.options.length=0 then exit sub
ba=0
for j=0 to frmxx.yxry.length-1
if frmxx.dxry.item(frmxx.dxry.selectedIndex).value=frmxx.yxry.item(j).value then
ba=1
exit for
end if
next
if ba=0 then
Set e = Document.createElement("OPTION")
e.value=frmxx.dxry.item(frmxx.dxry.selectedIndex).value
e.text=frmxx.dxry.item(frmxx.dxry.selectedIndex).text
frmxx.yxry.options.add e
end if
frmxx.dxry.options.remove frmxx.dxry.selectedIndex
end sub sub doSave
dim i
dim s1,s2
s1=""
s2=""
for i=0 to frmxx.yxry.length-1
s1=s1 & "," & frmxx.yxry.item(i).value
s2=s2 & " " & frmxx.yxry.item(i).text
next
if s1 = "" Then
msgbox "未选择人员",vbExclamation,"提示"
exit sub
End If
if s1<>"" then
s1=mid(s1,2)
s2=mid(s2,2)
end if
window.returnValue = s1 & "_" & s2
window.close
end sub
//-->
</script>
关键看你的需求,如果楼主一定要硬性转换,那看看这个行吗?具体我也不知道你那些是怎么定义的,到时候执行不了报错误,最好把你完整的HTML代码都发出来!完整的:
<script type="text/javascript">
var i,e,j,ba;
for(var i=0;i<frmxx.dxry.options.length-1;i++)
{
frmxx.dxry.options.remove(0);
}
for(var i=0;i<ary[2].length;i++)
{
if (frmxx.bm.value==ary[2][i]||frmxx.bm.value=="X")
{
ba=0;
for(var j=0;j<frmxx.yxry.length-1;j++)
{
if(arr[0][i]==frmxx.yxry.item(j).value)
{
ba=1;
break;
}
}
}
if(ba==0)
{
var e=Document.createElement("OPTION");
e.value = ary[0][i];
e.text = ary[1][i];
frmxx.dxry.options.add[e];
}
}
</script>
<!--
<% dim strOutputssql="select ygbh,ygxm,ssbm from rs_ygb where ryzt='0' or ryzt='2' order by ygxm asc"
rs.Open ssql,conn,1,1
dim iDo while(not rs.eof)
strOutput = strOutput & ",[""" & rs("ygbh") & """,""" & rs("ygxm") & """,""" & rs("ssbm") & """]"
rs.movenext
Loop
rs.closeif (strOutput<>"")Then
strOutput = mid(strOutput,2)
end if
%>
var ary = [<%= strOutput %>]
function chgbm(){
var i,e,j,ba,opts; opts = frmxx.dxry.options;
opts.length = 0; for (i=0; i<ary.length; i++) {
if(frmxx.bm.value==ary[i][2] || frmxx.bm.value=="X"){
ba=0
for(j=0; j<frmxx.yxry.length; j++){
if(ary[i][0]==frmxx.yxry.item[j].value){
ba=1;
break;
}
}
if(ba==0){
opts[opts.length] = new Option(ary[i][0],ary[i][1]);
}
}
}
}
//-->
</script>
var fmObj=document.frmxx;
var ary = new Array();
<%
for i= 0 to ubound(ary,2)
Response.Write "ary[0][" & i & "]=""" & ary(0,i) & """;" & vbcrlf
Response.Write "ary[1][" & i & "]=""" & ary(1,i) & """;" & vbcrlf
Response.Write "ary[2][" & i & "]=""" & ary(2,i) & """;" & vbcrlf
Response.Write "ary[3][" & i & "]=""" & ary(3,i) & """;" & vbcrlf
Response.Write "ary[4][" & i & "]=""" & ary(4,i) & """;" & vbcrlf
next
%>
function chgbm1()
{
alert("fdsf");
var i,e,j,ba;
for(var i=0;i<frmxx.dxry.options.length-1;i++)
{
frmxx.dxry.options.remove(0);
}
for(var i=0;i<ary[2].length;i++)
{
if (frmxx.bm.value==ary[2][i]||frmxx.bm.value=="X")
{
ba=0;
for(var j=0;j<frmxx.yxry.length-1;j++)
{
if(ary[0][i]==frmxx.yxry.item(j).value)
{
ba=1;
break;
}
}
}
if(ba==0)
{
var e=Document.createElement("OPTION");
e.value = ary[0][i];
e.text = ary[1][i];
frmxx.dxry.options.add[e];
}
} }
if((","+ary(4,i)+",").indexOf(","+frmxx.ug.value+",")>0||frmxx.ug.value=="X"){
//do something.............
}