为了账号安全,请及时绑定邮箱和手机立即绑定

动态设置全局 JS 变量

动态设置全局 JS 变量

PHP
Qyouu 2022-05-27 15:05:16
我想知道如何动态设置 JS 值。为了更好地理解我要完成的工作,这是一个 php 示例:$first;$second;$third;$my_array = ('first' => 'val_1','second' => 'val_2','third' => 'val_3');foreach ($my_array as $key => $value){  $$key = $value;}假设您有大量具有 html 形式的唯一 ID 的输入框,并且您想使用 jquery 或 js 将 id 作为全局变量,这时我有点困惑如何从每个陈述。我想通过js识别的html类型。<input id='first' value='val_1'><input id='second' value='val_2'><input id='third' value='val_3'>JS/jQuery 代码var first;var second;var third;$('input').each(function(){  var item_id = $(this).attr('id');  var item_value = $(this).attr('value');  /* now what... */});在 php 示例中,额外的美元符号使美元表示我想填充一个变量,该变量的名称类似于存储在 $key 中的变量。我想知道是否可以使用 JS 或 jquery 完成相同的操作。目的是仅通过向 HTML 表单添加输入来管理值的数量,而无需大量更改 JS 代码。
查看完整描述

2 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

这不是 PHP 或 JavaScript 中好的编程风格。只需使用数组代替:


var values = [];

$('input').each(function() {

  var item_id = $(this).attr('id');

  var item_value = $(this).attr('value');

  values[item_id] = item_value;

});

console.log('first = ' + values['first'] + ', second = ' + values['second']);

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label for="first">First: </label>

<input id="first" type="text" value="hello" />

<label for="second">Second: </label>

<input id="second" type="text" value="world!" />

<label for="third">Third: </label>

<input id="third" type="text" />


查看完整回答
反对 回复 2022-05-27
?
杨魅力

TA贡献1811条经验 获得超6个赞

你可以使用eval函数


var first;

var second;

var third;


$('input').each(function(){

  var item_id = $(this).attr('id');

  var item_value = $(this).attr('value');

  eval(item_id+'='+item_value);

});

例如


var v1 = 'first';

var v2 = 'second';

var val1 = 10;

var val2 = 20;

var first;

var second;


eval(v1+'='+val1);

eval(v2+'='+val2);

console.log('first='+first,'second='+second);


查看完整回答
反对 回复 2022-05-27
  • 2 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信