Javascript Nub。
运行一个检查5个选择框状态的函数,如果它们的值是“选择”,我想运行一个函数来根据另一个值填充它们。我可以在第一个函数中执行此操作,但它会很长。
缩写版。
function chek{
var tligc = document.getElementById('assigc').innerHTML;
var tligd = document.getElementById('assigd').innerHTML;
if(tligc == 'Select'){document.getElementById('otherAgency3').className = 'textBox';
return setass(3);
}
if(tligd == 'Select'){document.getElementById('otherAgency4').className = 'textBox'
return setass(4);
}
等,
function setass(value){
var KaRa = document.getElementById('assig').innerHTML;
if(KaRa =='Planning Officer'){
document.getElementById('otherAgency'+[value]).options.length=0
document.getElementById('otherAgency'+[value]).options[0]=new Option("Select", "Select", true, false)
document.getElementById('otherAgency'+[value]).options[1]=new Option("Situation Unit", "Situation Unit", true, false)
document.getElementById('otherAgency'+[value]).options[2]=new Option("Management Support", "Management Support", true, false)
return }
else if(KaRa =='Operations Officer'){
document.getElementById('otherAgency'+[value]).options.length=0
document.getElementById('otherAgency'+[value]).options[0]=new Option("Select", "Select", true, false)
document.getElementById('otherAgency'+[value]).options[1]=new Option("Staging Area Manager", "Staging Area Manager", true, false)
return }
else if(KaRa =='Logistics Officer'){
document.getElementById('otherAgency'+[value]).options.length=0
document.getElementById('otherAgency'+[value]).options[0]=new Option("Select", "Select", true, false)
document.getElementById('otherAgency'+[value]).options[1]=new Option("Supply Unit", "Supply Unit", true, false)
document.getElementById('otherAgency'+[value]).options[2]=new Option("Communications Support", "Communications Support", true, false)
document.getElementById('otherAgency'+[value]).options[3]=new Option("Facilities Unit", "Facilities Unit", true, false)
return }
else{document.getElementById('otherAgency'+[value]).options.length=0;
return }
}
}
它填充了第一个选项但是没有运行剩余的checkiner函数,如果测试,任何关于如何运行函数setass然后在正确的点再次返回main函数的指针?我假设'返回'不是正确的命令(如果即时通知只是说和生病做很长的路)。 三江源
答案 0 :(得分:0)
if语句的其余部分将不会被调用,因为如果第一个被命中,你将从函数返回。:
if(tligc == 'Select') {
document.getElementById('otherAgency3').className = 'textBox';
return setass(3);
}
javascript中的return函数会立即返回到调用函数,无论是值还是没有值。上面的代码基本上是说:“如果你到达这一点,运行参数为3的setass
函数,并将结果返回给chek
的调用者。
如果希望方法继续而不结束,则需要删除此return语句。
if(tligc == 'Select') {
document.getElementById('otherAgency3').className = 'textBox';
setass(3);
}