如何使用jQuery从Ajax更改span的值



我有一个span和一个元素。

My Code like;

$(document).ready(function() {
var spanValue=$("#num1").text();
$("#num2").keyup(function(e) {
$("#num1").html((spanValue.replace(/,/g, '') - $(this).val().replace(/,/g, '')).toLocaleString('en'));
});
});
type();
function type() {
$.ajax({
url: "fetch_data.php",
method: "POST",
success: function(data) {
$("#type").html(data); **is something to change?**
}
})
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="type">
**span element will show like → <span id="num1">1,000</span>**
</div>  
<input type="text" name="num2" placeholder="Num2" class="form-control number" id="num2" autofocuum2s>

我希望计算能正确进行。我的跨度值没有改变。是否需要在Ajax或jQuery中进行更改。

预计:

  1. 如果在文本框中输入20,则span值为:980 (1,000-20=980)

  2. 如果在文本框中backspacing或删除0:span将为→998 (1,000-2=998)

您的变量"spanValue"加载页面后永远不会更新,因为它在keyup函数之外。因此,它在加载页面时被设置,并且即使在输入其他内容时也保持该值。

如果您交换第2行和第3行,以便在每次keyup时更新值,您应该看到跨度的变化。

:

$(document).ready(function() {
$("#num2").keyup(function(e) {
var spanValue=$("#num1").text();
$("#num1").html((spanValue.replace(/,/g, '') - $(this).val().replace(/,/g, '')).toLocaleString('en'));
});
});

最新更新