高分请教:页面上两个combox,一个combox的内容变化,另外一个combox可选项也发生变化,如何实现?

duckcn 2002-07-24 09:02:32
两个combox的内容都从数据库里取得。
我看了combox内容的变化可以从onchange这里控制,但小弟对网页编程实在不熟,一直没有什么思路,希望各位指教,最好能附上代码,谢谢!
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yonghengdizhen 2002-07-24
  • 打赏
  • 举报
回复
function PageNavigate(srcElement)
{
var NewValue
if(srcElement.value==">>")
{
NewValue=new Number(srcElement.form.PageNo.value)+1
}
else
{
NewValue=new Number(srcElement.form.PageNo.value)-1
}
srcElement.form.PageNo.value=NewValue;
srcElement.form.submit()
}
function DeleteRecord(TableName,KeyName,KeyValue)
{
if(confirm("Are you sure want delete this record?")==true)
{
event.srcElement.form.submit();
}
}
function GoPage(URL)
{
document.forms[0].action=URL;
document.forms[0].submit();
}
function ModifyCtrl()
{
if(event.srcElement.nextSibling.disabled==true)
{
event.srcElement.nextSibling.disabled=false
event.srcElement.nextSibling.name=event.srcElement.nextSibling.id
}
else if(event.srcElement.nextSibling.disabled==false)
{
event.srcElement.nextSibling.disabled=true
event.srcElement.nextSibling.name=""
}
}
function MaskInput()
{
if (window.event.keyCode<48||window.event.keyCode>58)
{
window.event.returnValue=false;
}
}
function CheckAmount()
{
Amount=document.getElementById("Amount")
if(Amount.value==""||isNaN(Amount.value))
{
Amount.focus()
alert("Please input a number!!")
return false
}
else
{
Value=new Number(Amount.value)
if(Value<=0)
{
Amount.focus()
alert("Please input a plus quantity!!")
return false
}
}
}
function CheckCompany()
{
companyid=document.getElementById("companyid")
companyname=document.getElementById("companyname")
if(companyid.value==""||isNaN(companyid.value))
{
companyname.focus()
alert("Please select a company!!")
return false
}
return true;
}
function SelectGroup()
{
var ReportEntityId,i,NewLCO
NewLCO=""
ReportEntityId=document.getElementById("NewReportEntityId")
for(i=ReportEntityId.options.length-1;i>=0;i--)
{
ReportEntityId.options[i].removeNode()
}
selected=false;
for(i=0;i<JsResultArray.length;i++)
{
if(JsResultArray[i][2]==event.srcElement.options[event.srcElement.selectedIndex].value)
{
if(!selected)
{
NewLCO=JsResultArray[i][3];
selected=true;
}
NewOption=document.createElement("OPTION");
NewOption.value=JsResultArray[i][0];
NewOption.innerText=JsResultArray[i][1];
ReportEntityId.insertBefore(NewOption);
}
}
ReportEntityId.options[0].click();
document.getElementById("LCO").innerText=NewLCO;
}
function SelectItem()
{
var i,NewLCO
NewLCO=""
for(i=0;i<JsResultArray.length;i++)
{
if(JsResultArray[i][0]==event.srcElement.options[event.srcElement.selectedIndex].value)
{
if(NewLCO=="") { NewLCO=JsResultArray[i][3] }
}
}
document.getElementById("LCO").innerText=NewLCO;
//alert(event.srcElement.options[event.srcElement.selectedIndex].value)
}
function SelectPartyAndClose()
{
var i,SelectItems
if (window.opener!=null)
{
SelectItems=document.getElementsByName("LoginID")
for(i=0;i<SelectItems.length;i++)
{
if(SelectItems[i].checked==true)
{
window.opener.document.all.NewReportingParty.value=SelectItems[i].nextSibling.value;
}
}
closes.Click();
}
}
function SelectCompanyAndClose()
{
var i,SelectItems
if (window.opener!=null)
{
SelectItems=document.getElementsByName("companyid")
for(i=0;i<SelectItems.length;i++)
{
if(SelectItems[i].checked==true)
{
window.opener.document.all.companyid.value=SelectItems[i].value;
window.opener.document.all.companyname.value=SelectItems[i].nextSibling.value;
}
}
closes.Click();
}
}
yonghengdizhen 2002-07-24
  • 打赏
  • 举报
回复


<!--#INCLUDE FILE="../../FUNCTIONS/PUBLIC_FUNCTIONS.ASP"-->
<!--#INCLUDE FILE="../../FUNCTIONS/OOCL_FUNCTIONS.ASP"-->
<!--#INCLUDE FILE="../INCLUDES/LOCAL_VARIABLES.ASP"-->
<%
HTMLTitle=strHtmlTitlePrefix&" (Change-Reporting party)"
Response.Write GenHtmlHeader(HTMLTitle,strCSSPath & "pagestyle.css")
%>
<!--#INCLUDE FILE="../INCLUDES/TOP_HTML.ASP"-->
<script language=javascript src="../../functions/functions.js"></script>
<script language=javascript src="../includes/common.js"></script>
<form name="CENavigite" method="POST" action="../REVIEW/CAPTIAL_EXPENDITURE_VIEW_REPORTING_PARTY.ASP">
<%
Dim oConn,oRs,strSQL
strSQL="(SELECT report_gp_record_no,reporting_group.report_group,0 AS groupid,''"
strSQL=strSQL & " FROM reporting_group WHERE show_to_user=1)"
strSQL=strSQL& " UNION (SELECT report_entity_record_no,reporting_entity,report_group AS groupid,lco"
strSQL=strSQL & " FROM reporting_entity WHERE show_to_user=1"
strSQL=strSQL & " AND report_group IN"
strSQL=strSQL & "(SELECT report_gp_record_no FROM reporting_group WHERE show_to_user=1))"
strSQL=strSQL & "ORDER BY groupid ASC"
'Response.Write strSQL
'Response.End
If ConnectDB("[Master DSN Name]",oConn,false) Then
set oRs=Server.CreateObject("ADODB.Recordset")
oRs.Open strSQL,oConn
if Err.number<>0 then
Set oRs=Nothing
On Error Goto 0
bOOCLIsErr=true
strOOCLErrMsg=strOOCLErrMsg & "Load Reporting Entity failure" 'arrUnknowErr(1)
else
%>
<table width="100%" cellspacing="2" cellpadding="1">
<tr>
<td width="40%">Company:</td>
<td width="60%"><%=Request.Form("CompanyName")%>
</td>
</tr>
<tr>
<td width="40%">Last Updating Party:</td>
<td width="60%"><%=Request.Form("LastUpdateBy")%></td>
</tr>
<tr>
<td width="40%">Last Updating on:</td>
<td width="60%"><%=dfFormatDateTimeForClient(Request.Form("LastUpdateOn"))%></td>
</tr>
<tr>
<td colspan=2>
<!--用于随后的页显示,而不需向数据库再次查询-->
<input type=hidden name=companyname value="<%=Request.Form("CompanyName")%>">
<!--用于在页面间切换时保留查询参数-->
<input type=hidden name=PeriodFrom value=<%=Request.Form("PeriodFrom")%>>
<input type=hidden name=PeriodTo value=<%=Request.Form("PeriodTo")%>>
<!--从Capital_Expenditure_Header查询出来的信息,在页面间的切换始终保持-->
<input type=hidden name=CapitalId value=<%=Request.Form("CapitalId")%>>
<input type=hidden name=ReportEntityId value=<%=Request.Form("ReportEntityId")%>>
<input type=hidden name=ReportingParty value="<%=Request.Form("ReportingParty")%>">
<input type=hidden name=Remarks value="<%=Request.Form("Remarks")%>">
<input type=hidden name=LastUpdateBy value=<%=Request.Form("LastUpdateBy")%>>
<input type=hidden name=LastUpdateOn value="<%=Request.Form("LastUpdateOn")%>">
<!--用于分页功能进行分页判断-->
<input type=hidden name=category value="<%=Request.Form("category")%>">
</td>
</tr>
</table>
<table width="100%" cellspacing="2" cellpadding="1">
<tr class=blue_bg height=30>
<td width="30%" style="cursor:hand" onclick="GoPage('../REVIEW/CAPTIAL_EXPENDITURE_VIEW_A_N_C.ASP')">Authorized but not contracted for</td>
<td width="30%" style="cursor:hand" onclick="GoPage('../REVIEW/CAPTIAL_EXPENDITURE_VIEW_A_C.ASP')">Authorized and contracted for</td>
<td width="20%" bgcolor=ccccff>Reporting party</td>
<td width="10%" style="cursor:hand" onclick="GoPage('../REVIEW/CAPTIAL_EXPENDITURE_VIEW_REMARKS.ASP')">Remarks</td>
<td width="20%" style="cursor:hand" onclick="GoPage('../REVIEW/CAPTIAL_EXPENDITURE_VIEW_HISTORY_LOG.ASP')">History log</td>
</tr>
</table>
<BR>
<table width="100%" cellspacing="2" cellpadding="1" align=center>
<%
if not oRs.EOF then
dim LCO,strSelect,ResultArray,i,j,k
ResultArray=oRs.GetRows()
oRs.close
FreeDBRes
%>
<tr>
<td nowrap width=30%>Reporting Group:</td>
<td width=70%>
<%
if IsArray(ResultArray) then
%>
<input type=checkbox onclick="ModifyCtrl()"><select style="width:190px" id=NewGroupId name=NewGroupId class=input disabled onchange="SelectGroup()">
<%
for i=Lbound(ResultArray,2) to Ubound(ResultArray,2)
if ResultArray(2,i)>0 then exit for
if ResultArray(0,i)=Cint(Request.Form("groupid")) then strSelect=" selected"
%>
<option value="<%=ResultArray(0,i)%>"<%=strSelect%>><%=ResultArray(1,i)%></option>
<%
strSelect=""
next
%>
</select>
<%
end if
k=i
%>
</td>
</tr>
<tr>
<td nowrap>Reporting Entity:</td>
<td>
<%
if IsArray(ResultArray) then
%>
<input type=checkbox onclick="ModifyCtrl()"><select style="width:190px" class=input disabled id=NewReportEntityId onchange="SelectItem()">
<%
for i=k to Ubound(ResultArray,2)
if ResultArray(2,i)=Cint(Request.Form("groupid")) then
if ResultArray(0,i)=CInt(Request.Form("ReportEntityId")) then
strSelect=" selected"
LCO=ResultArray(3,i)
end if
%>
<option value="<%=ResultArray(0,i)%>"<%=strSelect%>><%=ResultArray(1,i)%></option>
<%
strSelect=""
end if
next
%>
</select>
<SCRIPT>
var JsResultArray=new Array(<%=Ubound(ResultArray,2)%>)
for(i=0;i<JsResultArray.length;i++)
{
JsResultArray[i]=new Array(<%=Ubound(ResultArray,1)+1%>)
}
<%
for i=k to Ubound(ResultArray,2)
for j=1 to Ubound(ResultArray,1)+1
%>
JsResultArray[<%=i-k%>][<%=j-1%>]="<%=ResultArray(j-1,i)%>"
<%
next
next
%>
</SCRIPT>
<%
end if
%>
</td>
</tr>
<tr>
<td nowrap>LCO:</td><td id=LCO><%=LCO%></td>
</tr>
<tr>
<td nowrap>Reporting Party:</td>
<td>
<input type=checkbox onclick="selectbtn.disabled=!selectbtn.disabled;ModifyCtrl()"><input onkeypress="return false;" class=input id=NewReportingParty disabled value="<%=Request.Form("ReportingParty")%>">
<input type=button value="Select" id=selectbtn class=btn disabled
onclick="dfOpenURLToFixed('../SEARCH/CAPTIAL_EXPENDITURE_SELECT_REPORTING_PARTY.ASP?OriginalParty=<%=Request.Form("ReportingParty")%>')">
</td>
</tr>
<%
else
%>
<SCRIPT>
//无记录的情况下,不能进入修改页.
history.go(-1)
</SCRIPT>
<%
end if
%>
</table>
<BR>
<table>
<tr height=30>
<td align=center>
<input class=btn type=button value="Back" onclick="GoPage('../REVIEW/CAPTIAL_EXPENDITURE_VIEW_REPORTING_PARTY.ASP')">
<input class=btn type=submit value="Confirm" onclick="GoPage('../REVIEW/CAPTIAL_EXPENDITURE_VIEW_REPORTING_PARTY.ASP')">
</td>
</tr>
</table>
<%
end if
else
bOOCLIsErr=true
strOOCLErrMsg=strOOCLErrMsg & arrUnknowErr(0)
End If
FreeDBRes
if bOOCLIsErr Then Response.Write strOOCLErrMsg
%>
</form>
<!--#INCLUDE FILE="../INCLUDES/BOTTOM_HTML.ASP"-->
freezwy 2002-07-24
  • 打赏
  • 举报
回复
你搜索“下拉连动”就可以搜索到你想要的代码了。
lanying 2002-07-24
  • 打赏
  • 举报
回复
跟vb里没什么两样,没人会给你写程序,自己去看看163同学录的原码

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧