Javascript 如何使用数据值引用回另一个变量
我试图通过使用data属性来引用前一个值来创建一个转换器 我似乎无法理解: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-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值相关联?而不是直接输入金额?不…问题只是转换器部分…它们也是一个下拉列表,可以在欧元、美元、人民币等之间进行选择。但我没有把这部分放在问题中。不需要