|
藍森林 http://www.lslnet.com 2006年8月25日 8:28
現在的問題是,可以增加一行,但不能刪除,前十行中前三個是級連
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<script language="JavaScript" src="sy/blc_zm.js" type="text/JavaScript"></script>
<SCRIPT language=javascript>
var line=2
function delIt()
{
line=parseInt(event.srcElement.ln,10)
if (line>0)
for (i=1;i<PLList.rows.length;i++)
if (tdt[i].ln==line)
{
if ( document.ecform.medication[i].value.length>0 )
if (!confirm("Are you sure you want to delete this record?"))
return
PLList.deleteRow(i)
}
}
function mouseOver()
{
event.srcElement.className="delMouseOver"
}
function mouseOut()
{
event.srcElement.className="scheduleButtonVisible"
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<form action=sy/save_insert_del.asp method ="POST" name="frm" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px">
<TABLE id=fileinput0 width="876" bgcolor="#DDEEFF">
</TABLE>
<% for i=0 to 9 %>
<table id=fileinput<%=i+1%> width="877" bgcolor="#DDEEFF">
<tr>
<td width="9%" bordercolor="#FFFFFF">
<select name=lb style="WIDTH:75; height:19" onchange="MulSelect(1,<%=i%>)" tabindex="<%=i+2%>"></select></td>
<td bgcolor="#FFFFFF" width="10%" bordercolor="#FFFFFF">
<select name=sname style="WIDTH:90; height:19" onchange="MulSelect(2,<%=i%>)" tabindex="<%=i+2%>"></select></td>
<td bgcolor="#FFFFFF" width="10%" bordercolor="#FFFFFF">
<select name=ggxh style="WIDTH:91; height:19" onkeydown="return tabclick()" tabindex="<%=i+2%>"></select></td>
<td bgcolor="#FFFFFF" width="8%" bordercolor="#FFFFFF">
<input type="text" name="a4" size="10" style="border=0;" onkeydown="return tabclick()" tabindex="<%=i+2%>"></td>
<td bgcolor="#FFFFFF" width="9%" bordercolor="#FFFFFF">
<input type="text" name="a5" size="10" style="border=0;" onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))" onchange=get(<%=i%>) onkeydown="return tabclick()" tabindex="<%=i+2%>"></td>
<td bgcolor="#FFFFFF" width="10%" bordercolor="#FFFFFF">
<input type="text" name="a6" size="12" style="border=0;" onchange=get(<%=i%>) onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;" onkeydown="return tabclick()" tabindex="<%=i+2%>"></td>
<td bgcolor="#FFFFFF" width="9%" bordercolor="#FFFFFF"><input type="text" name="a7" size="10" style="border=0;" onchange=get(<%=i%>) tabindex="<%=i+2%>"></td>
<td bgcolor="#FFFFFF" width="12%" bordercolor="#FFFFFF"><input type="text" name="a8" size="14" style="border=0;" onkeydown="return tabclick()" tabindex="<%=i+2%>"></td>
<td bgcolor="#FFFFFF" width="13%" bordercolor="#FFFFFF"><input type="text" name="a9" size="14" style="border=0;" onkeydown="return tabclick()" tabindex="<%=i+2%>"></td>
<td bgcolor="#FFFFFF" width="5%" bordercolor="#FFFFFF"><input type=button value=刪除 class=cbutton OnClick="DelFileInput(<%=i+1%>)" onkeydown="return tabclick()" tabindex="<%=i+2%>"></td>
</tr>
</TABLE>
<% next %>
<input type="button" name="add_line" value="增加下一行" OnClick="AddFileInput()" onkeydown="return tabclick()">
<script language="VBScript">
NowFileInputNo = 11
NowFileInputCount =10
idx=12
Sub AddFileInput()
HTMLSrc = "<table id=fileinput"&NowFileInputNo&" width=""877"" bgcolor=""#DDEEFF""><tr> <td width=""9%"" bordercolor=""#FFFFFF""><select name=lb style=""WIDTH:75; height:19"" onchange=""MulSelect(1,"&NowFileInputCount&")"" tabindex="""&idx&"""></select></td><td bgcolor=""#FFFFFF"" width=""10%"" bordercolor=""#FFFFFF""><select name=sname style=""WIDTH:90; height:19"" onchange=""MulSelect(2,"&NowFileInputCount&")"" tabindex="""&idx&"""></select></td>"
HTMLSrc = HTMLSrc &"<td bgcolor=""#FFFFFF"" width=""10%"" bordercolor=""#FFFFFF""><select name=ggxh style=""WIDTH:91; height:19"" onkeydown=""return tabclick()"" tabindex="""&idx&"""></select></td>"
HTMLSrc = HTMLSrc &"<td bgcolor=""#FFFFFF"" width=""8%"" bordercolor=""#FFFFFF""><input type=""text"" name=""a4"" size=""10"" style=""border=0;"" onkeydown=""return tabclick()"" tabindex="""&idx&"""></td><td bgcolor=""#FFFFFF"" width=""9%"" bordercolor=""#FFFFFF""><input type=""text"" name=""a5"" size=""10"" style=""border=0;"" onKeypress=""return (/[\d.]/.test(String.fromCharCode(event.keyCode)))"" onchange=get("&NowFileInputCount&") onkeydown=""return tabclick()"" tabindex="""&idx&"""></td>"
HTMLSrc = HTMLSrc &"<td bgcolor=""#FFFFFF"" width=""10%"" bordercolor=""#FFFFFF""><input type=""text"" name=""a6"" size=""12"" style=""border=0;"" onchange=get("&NowFileInputCount&") onKeypress=""if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;"" onkeydown=""return tabclick()"" tabindex="&idx&"></td>"
HTMLSrc = HTMLSrc &"<td bgcolor=""#FFFFFF"" width=""9%"" bordercolor=""#FFFFFF""><input type=""text"" name=""a7"" size=""10"" style=""border=0;"" onchange=get("&NowFileInputCount&") tabindex="""&idx&"""></td><td bgcolor=""#FFFFFF"" width=""12%"" bordercolor=""#FFFFFF""><input type=""text"" name=""a8"" size=""14"" style=""border=0;"" onkeydown=""return tabclick()"" tabindex="""&idx&"""></td>"
HTMLSrc = HTMLSrc &"<td bgcolor=""#FFFFFF"" width=""13%"" bordercolor=""#FFFFFF""><input type=""text"" name=""a9"" size=""14"" style=""border=0;"" onkeydown=""return tabclick()"" tabindex="""&idx&"""></td><td bgcolor=""#FFFFFF"" width=""5%"" bordercolor=""#FFFFFF""><input type=button value=刪除 class=cbutton OnClick=""DelFileInput("&NowFileInputNo&")"" onkeydown=""return tabclick()"" tabindex="""&idx&"""></td></tr></TABLE>"
HTMLSrc = HTMLSrc & vbcrlf
document.all.add_line.InsertAdjacentHTML "beforeBegin", HTMLSrc
Call MulSelect(0,NowFileInputCount)
idx=idx+1
NowFileInputNo = NowFileInputNo + 1
NowFileInputCount = NowFileInputCount + 1
End Sub
Sub DelFileInput(tableno)
document.all("FileInput"& tableno).outerHTML = ""
NowFileInputCount = NowFileInputCount - 1
End Sub
</script>
<script>
// 三級聯動
var arrSel=["lb","sname","ggxh"]
arrData=[];
// 從數據庫中讀出三級聯動的數據, 保存到 arrData 數組中(二維數組)
<%
dim conn,rs
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("rktz/rktz.mdb") & ";Persist Security Info=False"
set rs=conn.execute("select * from spxx")
do while not rs.eof
%>
arrData[arrData.length]=["<%=trim(rs("lb"))%>","<%=trim(rs("sname"))%>","<%=trim(rs("ggxh"))%>"]
<%
rs.movenext
loop
rs.close:set rs=nothing
conn.close:set conn=nothing
%>
</script>
<script language=javascript >
//單價金額的級連函數
function get(h){
var m;
m=document.all.a5(h).value;
document.all.a8(h).value=document.all.a7(h).value*m*document.all.a6(h).value;
m=m-1;
document.all.a9(h).value=document.all.a7(h).value*m*document.all.a6(h).value}
function tabclick() {
if (window.event.keyCode==13) {
window.event.keyCode=9
}
}
// 下拉框選擇變化時觸發的函數,用於重新生成其下級下拉框
// num : 下拉框的級數, 1 表示最頂級
function MulSelect(num,k)
{
var i,j,arrTemp=[];
// 取得表單當前觸發的下拉框的父級下拉框的值, 存放於 arrTemp 數組中(即不需要改變的值)
for(i=0;i<num;i++)
{
arrTemp[i]=eval("document.frm."+arrSel[i])(k).value
}
if(num<arrSel.length)
{
// 對於觸發下拉框的下一級的下拉框
with(eval("document.frm."+arrSel[num])(k))
{
// 先清空內容
length=0
// 對所有的記錄遍歷
for(i=0;i<arrData.length;i++)
{
var find=false
// 如果父級下拉框的記錄不是當前選中的值,則跳過
for(j=0;j<num;j++)
{
if(arrTemp[j]!=arrData[i][j])
{
break;
}
}
if(j!=num)
{
continue;
}
// 這裡已經可以保證第 i 項記錄的數據屬於當前選項的子數據
// 檢查循環過程中是否已經添加了該選項,如果已有了, 則 fine = true
for(m=0;m<options.length;m++)
{
if(options[m].text==arrData[i][num])
{
find=true
}
}
// 若當前沒有選項或者尚未添加該選項項,則添加之
if(length==0||!find)
{
options[options.length]=new Option(arrData[i][num],arrData[i][num])
}
}
// 遞歸調用生成下一級菜單的內容
MulSelect((num+1),k)
}
}
MulSelect(0,k+1)}
// 調用聯動函數初始化下拉框
MulSelect(0,0)
</script>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form>
</body>
</html>
數據表spxx:
sid na lb sname ggxh
1 MJ 日用品 毛巾 大
2 YS 日用品 牙刷 N11
3 ST 勞保 手套 J0小
4 XYF 勞保 洗衣粉 汰漬
5 LS 五金 螺絲 中號12
6 YX 隨風倒地方 一洗 撒法
7 SJ 家電 手機 似的的
8 XYJ 家電 洗衣機 按時的
|
|