我正在尝试使用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/

10-16 00:12