根据所选选项更改表数据

时间:2013-03-03 00:33:10

标签: javascript jquery

我有一个显示数据库数据的表。我有一个选择框,人们可以选择他想要显示数据的货币。

当他这样做时,我需要刷新数据并显示为新货币。如果不刷新整个页面,我无法弄清楚如何这样做。

有什么想法吗?

<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 个答案:

答案 0 :(得分:1)

您可以使用Ajax,它允许请求数据库并检索数据而无需刷新整个页面。

以下是介绍:http://www.w3schools.com/jquery/jquery_ajax_intro.asp

然后,查看jquery API并查看示例:http://api.jquery.com/jQuery.ajax/

祝你好运

答案 1 :(得分:0)

如果您可以保留数据转换的因素(对于转换USD&gt; AUS USD&gt; EUR或其他),您可以使用一个常规选择器在整个表中委派更改。

首先你把所有因素都放在js vars中这样(这必须是php文件中的doe,其他东西可以在单独的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转换为存储在单独的vars USDtoXXX中的其他值。请注意,我们也需要一个USDtoUSD。

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

<li class="price" inusd="123">123</li>
应该将usd中的价格存储到属性中,以使其与将要更改的dom内容无关。

所以对于上面的例子,我们这样做:

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

小心使用switch语句中的break和default ... javascript switch让case放弃它们的条件。

另外,在使用钱时,请对计算功能进行深入测试,javascript也会不时地弄乱upp:D