我有一个带有各种选项值的选择菜单。如果选择的值小于25,我需要将所选值乘以“10”,如果选择的值是25或更大,我需要它乘以“12”。
我是JS的新手。我可以通过使用下面的代码乘以10来使其工作,但我不知道如何编写if / else语句来检查选择是否小于25并乘以10或25或更大并且乘以到12点。
HTML:
<table width="100%" border="0">
<tr>
<td>
<select id="licenseRegs">
<option value="5">5</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option>
<option value="125">125</option>
</select>
</td>
<td id="total-price">Price show here</td>
</tr>
</table>
Javascript:这会将所有选择值乘以10.我需要它乘以10(如果小于25),但如果25或更多则乘以12。
// calculate price of # of computer selection
$(document).ready(function() {
var pricePerReg = 10;
var licenseRegsSelect = $('#licenseRegs');
function updateTotalPrice() {
licenseRegs = licenseRegsSelect.val();
$('#price').html(pricePerReg * licenseRegs);
}
licenseRegsSelect.change(function() {
updateTotalPrice();
});
updateTotalPrice();
});
答案 0 :(得分:1)
使用您的代码,
我添加了一个if / else语句(希望它是不言自明的,给出你对问题的描述。它就是这样 - 检查licenseRegs
是否小于,或者大于或等于25。)。< / p>
我还使用内置的parseInt()
来获取整数;它存储为字符串。 (这是“25”(字符串)和25(int)之间的差异。
这可能没有必要,但这是一个很好的做法。有关详细信息,请参阅此问题:How do I convert a string into an integer in JavaScript?
// calculate price of # of computer selection
$(document).ready(function() {
var pricePerRegUnder = 10;
var pricePerRegAbove = 12;
var licenseRegsSelect = $('#licenseRegs');
function updateTotalPrice() {
licenseRegs = parseInt(licenseRegsSelect.val(), 10);
///////////// New code here ////////////
var total;
if (licenseRegs < 25) {
total = licenseRegs * pricePerRegUnder;
} else {
total = licenseRegs * pricePerRegAbove;
}
//////////// Ends here /////////////////
$('#price').html(total);
}
licenseRegsSelect.change(function() {
updateTotalPrice();
});
updateTotalPrice();
});