我有一个下拉菜单,已列出多年。选择一年。该值是根据选择年份中的月份计算的,如果有人选择5年,然后 5 * 12 - 月5年,那么该值除以一定数量。我的循环工作正常但是,如果我按每个下拉条件8年,8个循环和每个循环中的每一个,每月的数量增加并计算发生。有没有一种简单的方法可以做到这一点,而不是我一次又一次地循环它,JSFiddle在这里。
var yr = document.getElementById("year");
var selected = yr.options[yr.selectedIndex].value;
if(selected == 10){
months = 12 * 10;
amount = 68/months;
alert(amount)
}
答案 0 :(得分:1)
你不需要所有这些ifs,你可以这样做:
var yr = document.getElementById("year");
var selected = yr.options[yr.selectedIndex].value;
months = 12 * parseInt(selected);
amount = 68/months;
alert(amount);
答案 1 :(得分:1)
我不完全确定我是否理解你的问题,但我认为这可能是你想要完成的事情:
$(function(){
$('#year').change(function(){
var year = document.getElementById("year").value;
year = parseInt(year);
alert( 68/(12*year) );
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="year">Year</label>
<select id="year">
<option value="1">1</option>
<option value="5">5</option>
<option value="10" selected>10</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
</select>
答案 2 :(得分:0)
是的,您只需要将选项中的值转换为数字,然后才能进行数学运算。对于任何选定的值,请尝试:
months = 12 * parseInt(selected, 10);
amount = 68/months;
alert(amount);