jQuery math从2个输入打印两个值,而不是计算



我对jQuery有问题,我在jQuery和JavaScript中都尝试过,问题是一样的。所以,我遇到的问题是,我试图从一个选择输出和一个隐藏输入中获取一个值,然后计算这些值,并将计算出的值打印到div。但它没有计算值,而是打印两个值。例如,如果我在selectinput中选择了值为1的option1,而我的隐藏输入值为7,那么它将打印71而不是8。我一直在寻找使用JavaScript和jQuery进行计算的不同方法,但我找不到任何解决问题的方法。我确信这之前已经发布过,但我不知道该搜索什么,所以我不知道如何找到我想要的答案。所以,如果这个问题已经被问到了,我很抱歉。

function test(str) {
var result = $("[type='hidden']").val()+str;
$('.output').html(result);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select onchange="test(this.value)">
<option value="" selected hidden></option>
<option value="1">Option1</option>
<option value="2">Option2</option>
<option value="3">Option3</option>
<option value="4">Option4</option>
<option value="5">Option5</option>
</select>
<input type="hidden" value="7">
<div class="output"></div>

只需将值强制转换为int,如下所示:

function test(str) {
var result = parseInt($("[type='hidden']").val()) + parseInt(str);
$('.output').html(result);
}

最新更新