我使用这个脚本来做我需要的事情:
HTML
<label id="starting_price">45.00</label>
<select name="price" >
<option value="">Options</option>
<option value="4.00">Small</option>
<option value="8.00">Medium</option>
</select>
示例#1
$('select').change(function(){
var sum = 0;
$('select :selected').each(function() {
sum += Number($(this).val());
});
$("#starting_price").html(sum);
});
我面临的问题是我希望初始值来自标签:
示例#2
$('select').change(function(){
var initial = $('#starting_price').html();
var sum = initial;
$('select :selected').each(function() {
sum += Number($(this).val());
});
$("#starting_price").html(sum);
});
我注意到这不起作用,这是因为它需要将字符串转换为整数,所以我使用了这个:
示例#3
$('select').change(function(){
var initial = +($('#starting_price').html());
var sum = initial;
$('select :selected').each(function() {
sum += Number($(this).val());
});
$("#starting_price").html(sum);
});
这是结果:
示例#1
从 0.00 美元开始,如果我选择一个选项(例如:4.00 美元),结果是 4.00 美元,如果我选择没有价值的选项,结果返回 0.00 美元。
示例#2
不工作
示例#3
从 45.00 美元开始,如果我选择一个选项(例如:4.00 美元),结果是 49.00 美元,如果我选择没有价值的选项,结果将保持在 49.00 美元,而它应该回到 45.00 美元。
如果选择的选项为 NULL,我如何使示例#3 回到初始价格?