【问题标题】:Outcome of one dropdown menu determined by two一个下拉菜单的结果由两个决定
【发布时间】:2016-12-01 16:02:20
【问题描述】:

这是一个决定制服费用的性别下拉菜单。

 <p>Gender:
<select required name="gender" onchange="calc(this.id, 'uniform')"   id="gender">
<option value="0" >Select...</option>
<option value="male">Male</option>
<option value="female">Female</option>
</select> <p>

统一下拉菜单的成本

<p>Cost of Uniform:
<select  required name="uniform"   id="uniform">
</select><p>

这是我的可靠性别和制服的 javascript 代码

<script>
function calc(u1,u2){

var u1 = document.getElementById(u1);
var u2 = document.getElementById(u2);
u2.innerHTML = "";
if (u1.value == "male"){
var optionArray = ["|","24300|N24,300"];
}
else  if (u1.value == "female"){
var optionArray = ["|","26400|N26,400"];
}
for(var option in optionArray){
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
u2.options.add(newOption);
}
}
</script>

班级(年)下拉菜单。

<p>Class:
<select required name="childClass" onchange="childClass(this.id, 'schoolFees')" id="childClass">
<option value="0" >Select...</option>
<option value="prenursery">Pre Nursery</option>
<option value="nursery">Nursery</option>
<option value="reception">Reception</option>
<option value="year1">Year One</option>
<option value="year2">Year Two</option>
<option value="year3">Year Three</option>
<option value="year4">Year Four</option>
<option value="year5">Year Five</option>
<option value="year6">Year Six</option>
</select>
<p>

取决于所选学生班级的学费下拉菜单

<p>School Fees:
<select required name="schoolFees"   id="schoolFees"> 
</select>

类和学费可靠下拉列表的Javascript。我确信有一个更短的方法,但这仍然有效。

<script>
function childClass(s1,s2){
   var s1 = document.getElementById(s1);
   var s2 = document.getElementById(s2);
 s2.innerHTML = "";
 if (s1.value == "prenursery"){
    var optionArray = ["|","145000|N145,000"];
 }
 else  if (s1.value == "nursery"){
    var optionArray = ["|","145000|N145,000"];
 }
 else  if (s1.value == "reception"){
    var optionArray = ["|","147000|N147,000"];
 }
 else  if (s1.value == "year1"){
    var optionArray = ["|","149000|N149,000"];
 }
 else  if (s1.value == "year2"){
    var optionArray = ["|","149000|N149,000"];
 }
 else  if (s1.value == "year3"){
    var optionArray = ["|","149000|N149,000"];
 }
 else  if (s1.value == "year4"){
    var optionArray = ["|","149000|N149,000"];
 }
 else  if (s1.value == "year5"){
    var optionArray = ["|","149000|N149,000"];
 }
 else  if (s1.value == "year6"){
    var optionArray = ["|","149000|N149,000"];
 }
 for(var option in optionArray){
     var pair = optionArray[option].split("|");
     var newOption = document.createElement("option");
     newOption.value = pair[0];
     newOption.innerHTML = pair[1];
     s2.options.add(newOption);
 }
 }
</script>

如何使班级(年份)和性别下拉菜单确定制服下拉菜单中的值。例如。如果我选择女性和第 4 年,我应该在下拉列表中获得不同的值。

【问题讨论】:

    标签: javascript jquery function drop-down-menu


    【解决方案1】:

    检查这个https://jsfiddle.net/egq427g0/3/

    我已修改 childClass 以相应地选择 Gender 和 Class

    在childClass结束时调用calc函数重置统一如果在Class中选择了0

    【讨论】:

    • 太棒了,完美。我会仔细研究代码。我什至可以将总数添加到其中。但我一直得到一个 NaN 结果。 [链接]jsfiddle.net/aayLrpz2
    • 你的函数没有错,在 jsfiddle 中它的工作方式有点不同。我已将function updateFee 更改为window.updateFee = function()。请在此处查看jsfiddle.net/aayLrpz2/1
    • 你好@Kumar 检查后我意识到,一旦你选择了性别、班级和制服,在你选择学费之前,总数仍然显示 NaN,然后​​它开始加起来。
    • 我认为问题在于选择初始值(Uniform)以反映在总和中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2020-11-13
    相关资源
    最近更新 更多