下拉菜单 - 选择2个不同下拉菜单时的价值变化

时间:2014-03-21 05:25:07

标签: javascript html

我有2个下拉菜单。每个都有12个值。 我已将其与其他值相关联。

因此,总共有144种可能性从下拉列表中选择。我想显示总数。

我已经制作了变量来显示总数,但它不起作用。

例如,在第一个下拉列表中我选择9,在第二个下拉列表中我选择10然后总计应显示= 500000

剩余总数应在初始阶段显示。

请帮忙。

感谢。

2 个答案:

答案 0 :(得分:2)

看起来你对此很陌生。这对你有好处。

这是一个更新的代码集http://codepen.io/anon/pen/LcFjz

这是你做错了什么:

1)当你调用document.write时,这发生在执行其他javascript之前。因此,total未定义。您可以在Chrome开发者工具控制台中看到此信息。 2)另外,你有可变范围的问题。变量remainingremaining1在其函数之外不存在。因此,行

total = remaining.value+remaining1.value;

没有做任何事情,因为没有定义添加的两个变量。

编辑1: 由于您希望在页面加载时显示剩余总数(没有任何类型选择),您需要更改一些内容。 1)您需要在加载页面时调用updateTotal()。 2)您需要获取每个选择框的值,而不会触发这些选择框的“更改”事件。

我已经更新了codepen来演示这个。 http://codepen.io/anon/pen/LcFjz

答案 1 :(得分:0)

试试这个。

<html>

<body>
<select onchange="ChooseValue(this)">
        <option value="415760">0</option>
        <option value="415620">1</option>
        <option value="415350">2</option>
        <option value="414700">3</option>
        <option value="413400">4</option>
        <option value="410600">5</option>
        <option value="405000">6</option>
        <option value="390000">7</option>
        <option value="360000">8</option>
        <option value="300000">9</option>
        <option value="200000">10</option>
        <option value="0">11</option>
</select>
<select onchange="ChooseValue1(this);dispTotal();">
        <option value="415760">0</option>
        <option value="415620">1</option>
        <option value="415350">2</option>
        <option value="414700">3</option>
        <option value="413400">4</option>
        <option value="410600">5</option>
        <option value="405000">6</option>
        <option value="390000">7</option>
        <option value="360000">8</option>
        <option value="300000">9</option>
        <option value="200000">10</option>
        <option value="0">11</option>
</select>
<p>Total Remaining Amount is : <input id="oil"><input id="oil1"></p>
<script type="text/javascript">

  var total;
function ChooseValue(remaining) {
            document.getElementById("oil").value = remaining.value;
}
function ChooseValue1(remaining1) {
            document.getElementById("oil1").value = remaining1.value;
}
function dispTotal() {
total = parseInt(document.getElementById("oil").value) + parseInt(document.getElementById("oil1").value);
document.write("Total = "+total);
}

</script>

</body>
</html>