根据所选选项更改表格数据。

3
我有一个显示来自数据库的数据的表格。我有一个选择框,人们可以在其中选择他想要显示数据的货币。
当他这样做时,我需要刷新数据并将其显示为新货币。我无法在不刷新整个页面的情况下完成此操作。
请问有什么好的想法吗?
<select id="currency">
<option value = "rub">В рублях</option>
<option value = "usd">USD</option>
<option value = "eur">EURO</option>
</select>
<table id="servers" cellpadding="0" cellspacing="0">
 <tr>
<td width="400"><b>Сервер</b></td>
<td width="100"><b>1 кк адены</b></td>
<td width="100"><b>1 ккк адены</b></td>
</tr>
<?php 
$sql = mysql_query("SELECT * FROM `prices`");
while($r = mysql_fetch_array($sql)) {
echo("\t\t<tr>\n");
echo("\t\t\t<td>".$r['name']."</td>\n");
echo("\t\t\t<td>$".round($r['kk']/$dollar, 2)."</td>\n");
echo("\t\t\t<td>$".round($r['kkk']/$dollar, 2)."</td>\n");
echo("\t\t</tr>\n");
} ?>
</table>
2个回答

1

谢谢你的回答,但我希望得到更具体一些的建议,包括应该使用哪些方法或函数。 - user2117875

0

如果您可以保留数据转换的因素(例如 USD>AUS USD>EUR 或其他),则可以使用一个通用选择器将更改委托给整个表。

首先,您需要像这样在 js 变量中放置所有的因素(这必须在 php 文件中完成,其他的东西可以在分离的 js 文件中完成):

var USDtoEUR = <?php echo $php2eur; ?>

下一步,您需要将事件绑定到选择框、按钮或其他元素的单击事件上,假设它是带有ID“currency”的选择框:
$('#currency'). click(function() {
 switch ($('this').val()) {
   case 'EUR' {
      //Code we will discuss is going here
   }
   break;
//... etc...

所以,我们希望在点击时更改所有我们假定为美元的数据,因此我们将从USD转换为其他值所需的所有因素存储在单独的变量USDtoXXX中。请注意,我们也需要一个USDtoUSD。

现在... 无论结构如何,包含动态更改数据的元素应该具有类和inusd属性,如下所示:

<li class="price" inusd="123">123</li>

美元价格应存储为属性,以使其独立于将更改的 DOM 内容。

因此,对于上面的示例,我们执行以下操作:

$('.price').each(function() {
  $(this).text()=$(this).attr('inusd')*USDtoEUR;  //If user selected EUR
}

在使用 switch 语句时要小心使用 break 和 default... JavaScript 的 switch 语句允许条件穿透。

此外,在处理货币时,请对计算函数进行深入测试,JavaScript 有时也会出错 :D


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接