Javascript 更改<;td>';使用jquery
我有一个价值表。在JQuery中,是否可以通过单击“货币”链接来使用汇率更改单元格中的值?这个静态示例表Javascript 更改<;td>';使用jquery,javascript,jquery,Javascript,Jquery,我有一个价值表。在JQuery中,是否可以通过单击“货币”链接来使用汇率更改单元格中的值?这个静态示例表 <table border="1"> <tr> <td class="currency">100</td> <td class="currency">200</td> <td class="current">now in USD</td> <
<table border="1">
<tr>
<td class="currency">100</td>
<td class="currency">200</td>
<td class="current">now in USD</td>
</tr>
<tr>
<td class="currency">150</td>
<td class="currency">230</td>
</tr>
<tr>
<td class="currency">400</td>
<td class="currency">200</td>
</tr>
<tr>
<td class="currency">550</td>
<td class="currency">2920</td>
</tr>
</table>
<a href="#" class="USD">USD</a>
<a href="#" class="EUR">EUR</a>
100
200
现在以美元计价
150
230
400
200
550
2920
请看。换句话说,通过单击货币值,必须根据汇率重新计算货币值。在我关于JSFIDLE的示例中,我想了解如何简单地更改值(例如
usd=1
eur=1.3
),谢谢 您可以按类选择并修改它们:
$('.currency').each(function(){
var eurMultiplier = 1.3;
var currentValue = parseInt($(this).html());
var newValue = currentValue * eurMultiplier;
$(this).html(newValue);
});
此代码未经测试,但应给出如何执行的提示。首先,您需要存储原始美元值,以便将其用作所有汇率的基础。
data-x
属性非常适合于此
$('.currency').each(function() {
$(this).data('usd-value', $(this).text());
});
然后,您可以简单地将该值乘以所需的任何汇率,再次存储在链接本身的data
属性中。试试这个:
<a href="#" class="exchange USD" data-exchangerate="1">USD</a>
<a href="#" class="exchange EUR" data-exchangerate="1.3">EUR</a>
<a href="#" class="exchange GBP" data-exchangerate="0.63">GBP</a>
注意:我还添加了
GBP
,只是为了说明此方法的可扩展性。您也可以这样做:-
var flag = false;
$('.USD').click(function() {
if (flag)
{
$('.currency').each(function() {
$(this).text(parseFloat($(this).text() / 1.3));
});
flag = false;
$('.current').text("Now in USD");
$('.EUR').removeAttr("disabled");
}
});
$('.EUR').click(function() {
flag = true;
$('.currency').each(function() {
$(this).text(parseFloat($(this).text() * 1.3));
});
$('.current').text("Now in EUR");
$(this).attr("disabled", "disabled");
});
参考是的,有可能,您尝试了什么?您的小提琴没有JavaScript/JQuery。显示您尝试过的内容。@未定义我尝试过使用.val(),但我认为在这种情况下,这不是正确的方法。请注意当您反复单击某个exchange时会发生什么link@RoryMcCrossan:是的,有一个bug。现在我已经修复了。当你继续点击时仍然会发生。老实说,这种逻辑有点缺陷,因为您处理的是不断变化的数字,而不是像页面加载时那样对值进行计算。