我有一个文本框,其值已与数据库绑定。我在文本框中有onkeyup事件。我想像旧值加上新值一样进行计算。是否存在可以使用javascript加载页面后获取文本框值的功能?
例如页面加载为5时的第一个值 当我将文本框更改为3时,标签值将为8 当我再次将文本框更改为4时,标签值将为9。
答案 0 :(得分:2)
除了知道实际的value
之外,还必须将原始值保留在data属性中。例如:
<input id="my-text-box" type="text" data-original-value="5" value="5">
然后您可以通过jQuery访问原始值:
$('#my-text-box').data().originalValue;
或使用纯JavaScript:
var element = document.getElementById('my-text-box');
var originalValue = element.getAttribute("data-original-value");
以及jQuery的新价值:
$('#my-text-box').val();
或使用纯JavaScript:
var element = document.getElementById('my-text-box');
var originalValue = element.value;
编辑:用于普通的JavaScript答案。
答案 1 :(得分:1)
如果您的文本输入的id
为my-text-input
,并且变量名为originalValue
:
window.onload( function() {
originalValue = document.getElementById('my-text-input').value
});
答案 2 :(得分:1)
您可以使用product-price-text
属性并在其中设置默认值。然后使用data
事件监听器,一旦焦点从输入中移出,它将获得默认值和新值。使用onchange
将字符串转换为数字,然后再添加
parseInt
function updateValue(e) {
let defaultVal = e.target.dataset.val;
let newVal = e.target.value;
e.target.value = parseInt(defaultVal, 10) + parseInt(newVal, 10)
}