gpt4 book ai didi

javascript - 使用数组值作为变量名

转载 作者:行者123 更新时间:2023-11-30 10:36:51 24 4
gpt4 key购买 nike

我需要使用 jQuery 的 keyup 函数从输入的 html 表单元素中获取值,并将所述值显示在其他地方的 div 中。

工作代码如下所示:

$('#name').keyup(function() {
var name = $(this).val();
$('#name-in-document').html(name);
});

因为上面的代码块有很多相同的实例,所以我想使用 for 循环来遍历值数组。 catch是第二行的变量名

var name = $(this).val();   

将来自数组。

我尝试了以下循环,但它不起作用,因为(据我所知)Javascript 变量不能命名为数组值:

var inputsArray = ["phone", "name", "address"];

for (var i = 0; i < inputsArray.length; i++) {

$("#"+inputsArray[i]).keyup(function() {

var inputsArray[i] = $(this).val();
$("#"+inputsArray[i]+"-in-document").html(inputsArray[i]);

})

};

所以我有两个问题:

  1. 我真的不能使用数组值在 for 循环中创建变量吗?
  2. 是否有其他可行的方法来完成同样的事情(从数组中获取变量名)?

我刚刚开始使用 JavaScript,非常感谢任何见解。谢谢!

最佳答案

1.这不是真的
2. 您需要对变量 i 或来自 inputArray[i] 的值以及事件绑定(bind)内部进行闭包关键字 this 指的是触发事件的 DOMNode:

在这里阅读更多关于闭包的信息 How do JavaScript closures work?

var inputsArray = ["phone", "name", "address"],
i = 0,
len = inputsArray.length;

for ( ; i < len; i ++ ) {
makeKeyupBind(inputsArray[i]);
}

function makeKeyupBind( value ) {
$("#" + value).on("keyup", function() {
$("#" + value + "-in-document").html( this.value );
});
}

关于javascript - 使用数组值作为变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com