一旦文本值输入发生变化,JavaScript onchange就会更新变量

时间:2015-06-22 17:49:04

标签: javascript jquery

我有一个将值插入隐藏输入的函数。一旦输入值因我的功能而改变,我想要一个变量来更新。

我一直遇到一些错误。当我检查变量或变量没有更新时,我得到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;
&#13;
&#13;

2 个答案:

答案 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