我正在尝试使用keyup()方法在输入字段上获取信用卡号,但是当我在控制台中键入变量名称时,我的状态变得不确定。但是,当我在该字段中键入内容时,数字将被记录到控制台。
$('#authorizenet_cc_number').keyup(function(){
var ccNum = $('#authorizenet_cc_number').val();
console.log(ccNum);
});
我的理解是错误的,当输入中的值更改时,它将存储在ccNum变量中吗?
最佳答案
ccNum
的范围是keyup handler匿名函数的局部范围。如果您想从更高的范围访问它,请将其放在更高的范围。
var ccNum; // declaration in an outer scope
$('#authorizenet_cc_number').keyup(function(){
// no need to reselect on the input, just use "this"
ccNum = $(this).val(); // initialization in an inner scope
console.log(ccNum); // logs the value
});
console.log(ccNum); // also logs the value (if called after the handler has fired)
关于javascript - 使用keyup()设置变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10921037/