Onchange中的HTML/Javascript addEventListener Onchange事件?
所以我已经为此工作了大约一天了。。。我有一个表单,其中有一个选择菜单,它的选择会触发另一个相关的选择菜单 我现在要做的是根据第二个选择菜单中的选择填写一个默认值。基本上,如果用户在人工菜单中选择“操作员”选项,则费率值应预先填充该职位的每日费率——比如说$100 到目前为止,我已经成功地为函数的第一部分添加了一个事件监听器,并且表单在该选择上进行了很好的调整,但是我不知道如何获得要填充的速率。我在寻找类似情况时没有任何运气,我尝试了很多我认为有效的方法,也就是说,到目前为止,我已经找到了nuthin but错误 这是我目前拥有的,显然不起作用:Onchange中的HTML/Javascript addEventListener Onchange事件?,javascript,html,onchange,Javascript,Html,Onchange,所以我已经为此工作了大约一天了。。。我有一个表单,其中有一个选择菜单,它的选择会触发另一个相关的选择菜单 我现在要做的是根据第二个选择菜单中的选择填写一个默认值。基本上,如果用户在人工菜单中选择“操作员”选项,则费率值应预先填充该职位的每日费率——比如说$100 到目前为止,我已经成功地为函数的第一部分添加了一个事件监听器,并且表单在该选择上进行了很好的调整,但是我不知道如何获得要填充的速率。我在寻找类似情况时没有任何运气,我尝试了很多我认为有效的方法,也就是说,到目前为止,我已经找到了nuth
document.getElementById('MAIN')。addEventListener('change',function(){
var style=this.value==0?'inline':'none';
document.getElementById('Labor').style.display=style;
模糊();
//document.getElementById('sup').style.display=style;
var style=this.value==1?'inline':'none';
document.getElementById('mateq').style.display=style;
var style=this.value==2?'inline':'none';
document.getElementById('equipment').style.display=style;
var style=this.value==3?'inline':'none';
document.getElementById('subq').style.display=style;
});
函数blur(){
document.getElementById('laborchoices')。addEventListener('onblur',function(){
var rate=this.value==laborchoices0?'inline':'none';
document.getElementById('value')='165';
var rate=this.value==laborchoices1?'inline':'none';
document.getElementById('value')='95';
var rate=this.value==laborchoices2?'inline':'none';
document.getElementById('value')='85';
}
劳动
材料与设备
装备
分包商
监督人
操作人员
装配工
数量:EA
MH/单位:
总MH:
费率:$
总计:$
评论:
数量:EA
MH/单位:
总MH:
费率:$
总计:$
评论:
数量:EA
MH/单位:
总MH:
费率:$
总计:$
评论:
站立
光束
垫子
其他
天:
数量:
$/单位:
总计:$
说明:
天:
数量:
$/单位:
总计:$
说明:
天:
数量:
$/单位:
总计:$
说明:
天:
数量:
$/单位:
总计:$
说明:
拖车
其他
天:
数量:
$/单位:
总计:$
说明:
天:
数量:
$/单位:
总计:$
说明:
每日津贴
其他
数量:EA
费率:
总计:$
说明:
数量:EA
费率:
总计:$
说明:
因此,我建议使用数组结构SelStruct
id=“T&M”无效=>更改为id=“T-M”
在其他地方,一些Id不是唯一的,所以我更改了它们
const
MainSelect=document.getElementById('MAIN'),
SelStruct=[
{ref:“人工”,subs:['sup','opr','rig']},
{ref:“mateq”,subs:[‘支架’、‘横梁’、‘垫子’、‘其他mateq’],
{ref:“装备”,subs:[‘拖车’,‘其他装备’]},
{ref:“subq”,subs:['perdiem','othersubq']}
]
;
函数SetSelectMain()
{
让ref_Select=MainSelect.selectedIndex;
对于(设i=0;i试试这个
if(document.getElementById('MAIN')。值==0)
document.getElementById('rate1')。值='165';//设置值如果未选择任何选项,这是默认值。
document.getElementById('MAIN')。addEventListener('change',function(){
var style=this.value==0?'inline':'none';
document.getElementById('Labor').style.display=style;
var style=this.value==1?'inline':'none';
document.getElementById('mateq').style.display=style;
var style=this.value==2?'inline':'none';
document.getElementById('equipment').style.display=style;
var style=this.value==3?'inline':'none';
document.getElementById('subq').style.display=style;
});
//第二个下拉菜单更改事件而不是onblur,并且不要在函数中包装事件
document.getElementById('laborchoices')。addEventListener('change',function(){
//如果必须从多个选项中选择一个,请使用switch语句;
开关(此值){
案例“laborchoices0”:
document.getElementById('rate1')。值='165';
document.getElementById('sup').style.display='block';
document.getElementById('opr').style.display='none';
document.getElementById('rig').style.display='none';
打破
案例“实验室选择1”:
document.getElementById('rate2')。值='95';
document.getElementById('sup').style.display='none';
document.getElementById('opr').style.display='block';
document.getEle