我正在尝试获取一个人当前在keyup上使用的输入框的值和名称,但是一旦keyup函数运行,我就无法更新全局变量。他们只是继续在Google Chrome开发者工具中说未定义。
我做错了什么?
$( document ).ready(function() {
var assessName;
var assessVal;
var impName;
var impVal;
//Get the name and value of the currently selected assessed input
$('[id^=ass]').on('keyup', function(){
assessName = $(this).attr('name').replace('ass-','');
assessVal = $(this).val();
});
//Get the name and value of the currently selected implemented input
$('[id^=imp]').on('keyup', function(){
impName = $(this).attr('name').replace('imp-','');
impVal = $(this).val();
});
console.log(assessName);
console.log(assessVal);
console.log(impName);
console.log(impVal);
});
答案 0 :(得分:3)
这是因为{/ 1}}事件在将写入控制台之后更改了keyup
。 JavaScript中的事件是异步。
因此,如果您将variables
调用放入事件监听器,它将准确显示您的期望。