我正在根据从下拉列表中选择的值更改变量。我有类似的工作与if / else语句,但当我尝试使用开关我无法让它工作。我在这里a fiddle of this
html:
<select class="heiSelect">
<option value='3924'>6'1"</option>
<option value='3923'>6'2"</option>
<option value='3922'>6'3"</option>
<option value='3921'>6'4"</option>
<option value='3920'>6'5"</option>
<option value='3919'>6'6"</option>
<option value='3918'>6'7"</option>
<option value='3917'>6'8"</option>
<option value='3916'>6'9"</option>
<option value='3915'>6'10"</option>
</select>
<h1>Results : </h1>
javascript:
$(function() {
var hvd = 0;
$('.heiSelect').change(function() {
var heiValue = $('.heiSelect').val();
switch (heiValue) {
case 3915:
hvd = 4294964526;
break;
case 3916:
hvd = 4294964528;
break;
case 3917:
hvd = 4294964529;
break;
case 3918:
hvd = 4294964406;
break;
case 3919:
hvd = 4294964495;
break;
case 3920:
hvd = 4294964494;
break;
case 3921:
hvd = 4294964493;
break;
case 3922:
hvd = 4294964492;
break;
case 3923:
hvd = 4294964491;
break;
case 3924:
hvd = 4294964490;
break;
}
$('h1').append(heiValue + " + " + hvd + ", ");
});
});
你能看到问题吗?
答案 0 :(得分:1)
该值是一个字符串,而您根据数字对它们进行了测试。
要修复它,要么将字符串解析为整数:
var heiValue = parseInt($('.heiSelect').val(), 10);
或在案例中使用字符串:
case '3915':
答案 1 :(得分:0)
heiValue
是一个字符串,您要与switch
语句中的整数进行比较。
将heiValue
解析为整数,或将case语句转换为字符串。