我有一个将值插入隐藏输入的函数。一旦输入值因我的功能而改变,我想要一个变量来更新。
我一直遇到一些错误。当我检查变量或变量没有更新时,我得到Object Object
作为响应,除非我手动输入输入中的值然后单击开箱即用。
var name = $('#name');
function updateVariable(nameTwo) {
name = nameTwo;
}
setTimeout(function() {
$('#name').val('John');
}, 1000);
$('button').click(function() {
$('#test').text(name);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="name" id="name" onchange="updateVariable(this.value)" />
<h1 id="test"></h1>
<button>Test</button>
&#13;
答案 0 :(得分:2)
你几乎拥有它,你必须选择元素的值,你也应该触发更改事件:
var name = $('#name').val();
function updateVariable(nameTwo) {
name = nameTwo;
}
setTimeout(function() {
$('#name').val('John').trigger('change');
}, 1000);
$('button').click(function() {
$('#test').text(name);
});
答案 1 :(得分:1)
你的函数最后没有像对它的调用那样
updateVariable vs updateVariables