Javascript 如何使用数据值引用回另一个变量

Javascript 如何使用数据值引用回另一个变量,javascript,jquery,Javascript,Jquery,我试图通过使用data属性来引用前一个值来创建一个转换器 我似乎无法理解: data-my_货币,参考301.46 此数据返回至4259.00 $('input').keyup(函数(){ var BTC=4259.00 var ETH=301.46 var LTC=67.72 var美元=1 欧元风险值=0.83 风险值CNY=6.46 var convertFrom=$('.js').data('my_currency'); //应参考欧元风险值 var convertTO=$('.j

我试图通过使用data属性来引用前一个值来创建一个转换器

我似乎无法理解:

  • data-my_货币,参考301.46
  • 此数据返回至4259.00
$('input').keyup(函数(){
var BTC=4259.00
var ETH=301.46
var LTC=67.72
var美元=1
欧元风险值=0.83
风险值CNY=6.46
var convertFrom=$('.js').data('my_currency');
//应参考欧元风险值
var convertTO=$('.js').data('this');
//应参考BTC var
var amount=$('input').val();
var结果=convertFrom*convertTO*金额;
var newresult=result.toFixed(2);
$('.output').html(newresult);
});


Me
如果您试图让它们返回到JavaScript变量,为什么不直接使用这些JavaScript变量呢

但是,如果您将比特币和货币价格作为页面中的一个元素写入(我假设是这样),那么您将分别查找
$('.js[data-my_currency]')[0].innerHTML
$('.js[data this]')[0].innerHTML

分解如下:

  • .js
    以类为目标
    js
  • [data-my\u currency]
    data-my\u currency
  • $('.js[data-my_currency]')
    返回
  • [0]
    抓取第一个节点
  • 获取该节点内的内容
$('input').keyup(函数(){
var convertFrom=$('.js[data-my_currency]')[0].innerHTML;
var convertTO=$('.js[data this]')[0].innerHTML;
var amount=$('input').val();
var结果=convertFrom*convertTO*金额;
var newresult=result.toFixed(2);
$('.output').html(newresult);
});

0.83
4259

Me
或者,在不太修改现有代码的情况下,可以在全局范围内声明变量(应该避免),并使用
窗口
对象获取变量的值

var BTC=4259.00
var ETH=301.46
var LTC=67.72
var美元=1
欧元风险值=0.83
风险值CNY=6.46
$(文档).ready(函数(){
$('input').keyup(函数(){
var convertFrom=$(“[data-my_currency]”)。数据(“my_currency”);
var convertTO=$('[data this]')。data('this');
var amount=$('input').val();//假设用户只输入数字
var结果=窗口[convertFrom]*窗口[convertTO]*金额;
var newresult=result.toFixed(2);
$('.output').html(newresult);
});
});


Me
EUR…可能会更改为CNY或USD…上述代码很好…但它不会适用于世界上所有的货币。您没有将其指定为约束条件。代码的目标是
data-my_currency
,因此只要
0.83
与要交换的值相关,货币是什么都不重要。如果您需要一次显示多个汇率,只需在节点列表上循环即可。它一次只能转换一个汇率…基于data-my_currency…Html EUR currency将根据用户下拉选择进行更改。因此,它将仅基于该字段运行。因此,您希望
输入
字段与一个下拉列表相关联,该下拉列表将提供诸如
欧元
人民币
美元
等选项,并将每个选项与它们的JavaScript值相关联?而不是直接输入金额?不…问题只是转换器部分…它们也是一个下拉列表,可以在欧元、美元、人民币等之间进行选择。但我没有把这部分放在问题中。不需要