我正尝试添加2个总和,这些总和由选择选项获取。
我只想计算X + Y,但出现一个奇怪的错误。
代码:
$( document ).ready(function() {
var id1 = $("#one").val();
$("#final_value").val(id1);
var id2 = $("#two").val();
$("#final_value").val(id2);
$("#final_value").val(this + parseInt(id1) + parseInt(id2));
});
答案 0 :(得分:4)
您的this
元素中有#final_value
。我还向您的代码中添加了一个change
事件,因此它将在以下选项之一更改时更新:
$(document).ready(function() {
$("#one, #two").on("change", () => {
var id1 = $("#one").val();
var id2 = $("#two").val();
$("#final_value").val(parseInt(id1) + parseInt(id2));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td>
<select class="full-width select2" name="" id="one" data-placeholder="" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>
<select class="full-width select2" name="" id="two" data-placeholder="" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<label for="final_value">Result:</label>
<input type="text" value="" id="final_value">
答案 1 :(得分:3)
最后一条语句中有一个this
,将最后一行替换为:
$("#final_value").val(parseInt(id1) + parseInt(id2));
现在应该可以了。
答案 2 :(得分:3)
删除this
值:
发件人:
$("#final_value").val(this + parseInt(id1) + parseInt(id2));
收件人:
$("#final_value").val(parseInt(id1) + parseInt(id2));
如果您将使用this
,则函数将返回一个字符串,如下所示:
[object HTMLDocument]11
答案 3 :(得分:2)
我对加里·托马斯代码做了一些改动:
您可以像这样使用代替parseInt():
var id1 = +$("#one").val();
var id2 = +$("#two").val();
$(document).ready(function() {
$("#one, #two").on("change", () => {
var id1 = +$("#one").val();
var id2 = +$("#two").val();
var total = id1+id2;
$("#final_value").val(total);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td>
<select class="full-width select2" name="" id="one" data-placeholder="" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>
<select class="full-width select2" name="" id="two" data-placeholder="" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<label for="final_value">Result:</label>
<input type="text" value="" id="final_value">
答案 4 :(得分:1)
只需从您的汇总中删除此关键字即可:
$( document ).ready(function() {
var id1 = $("#one").val();
$("#final_value").val(id1);
var id2 = $("#two").val();
$("#final_value").val(id2);
$("#final_value").val(parseInt(id1) + parseInt(id2));
});