多层次连动触发事件,追求高效,各位高手多帮帮提提意见

lgs6715 2003-01-15 07:08:03
<head>
<style type=text/css>
td{font-size:12px;line-height:14px;}
input{font-size:12px;}
.p1{font-height:700;}
</style>
</head>

<form name=form1>
<table cellpadding=0 cellspacing=0 border=0>
<tr><td colspan=2>一、累计金额<input type=text name=income></td></tr>
<tr><td colspan=2><font class=p1>1、基本收入</font><input type=text name=income10></td></tr>

<tr><td>工资</td><td><input type=text name=i11 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>奖金</td><td><input type=text name=i12 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>津贴</td><td><input type=text name=i13 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>加班工资</td><td><input type=text name=i14 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>其他收入</td><td><input type=text name=i15 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>

<tr></tr>
<tr><td colspan=2>2、投资收入<input type=text name=i20 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>股票套现</td><td><input type=text name=i211 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>股票现金分红</td><td><input type=text name=i212 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>存款利息</td><td><input type=text name=i213 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>国库券兑现</td><td><input type=text name=i214 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>保险收益</td><td><input type=text name=i215 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>保险金返还</td><td><input type=text name=i216 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>设备租赁</td><td><input type=text name=i217 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>投资企业分红</td><td><input type=text name=i218 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>物业出租</td><td><input type=text name=i219 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr><td>其他投资收入</td><td><input type=text name=i220 onkeypress="return CheckKey(this)" style="ime-mode:disabled"></td></tr>
<tr></tr>
</table>
</form>

层次:
---- 总收入 A
-----基本收入 B1
1,工资 C1
2,奖金 C2
3,津贴 C3
-----投资收入 B2
1。
2。
3。
4。
-------。。。。。

要求C1,C2,C3能连动A 和B1
B1 B2 能连动 A

如果每个最小单位(C1,C2,C3)都写一个onChange事件,则太不可取,代码变得非常的庞大
各位有什么好的建议吗?洗耳恭听
...全文
42 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
emu 2003-01-16
  • 打赏
  • 举报
回复
简单才好,每个text的onchange都指向同一个calculate函数,在函数里面总是进行完整的计算。不用担心效率问题,计算量很少的。
KiteGirl 2003-01-16
  • 打赏
  • 举报
回复
其实可以这样写:在document_onchenge事件里判断event.srcElement的Name是Cx还是Bx就可以了。
lgs6715 2003-01-15
  • 打赏
  • 举报
回复
我现在找到点眉目,可用构造对象的方法解决
ParentName---Bi
TextName----控件本身Ci名字的前缀
Length------Bi下面控件C1,C2...Ci..Cn的个数

eval(TextName+Length)定位Bi下面的C1,C2...Ci..Cn

function Struct(ParentName,TextName,Length){
this.Parent=eval(ParentName);
this.TextName=TextName;
this.Length=Length;

}
lgs6715 2003-01-15
  • 打赏
  • 举报
回复
我刚开始的时候很陌生,用笨办法为每个文本输入框都写了个触发事件
结果#include文件达到12个之多,太痛苦了
genuis 2003-01-15
  • 打赏
  • 举报
回复
使用 onChange="change(this)"
然后用
function change(Obj)
Obj 可以用来引用。
lgs6715 2003-01-15
  • 打赏
  • 举报
回复
我的要求是B1=C1+C2+C3
B2=跟B1一样,为它下面的子项之和

A=B1+B2+...+Bn
每输入一个单位的Ci,则Bi,A都会变动

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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