根据所选选项更改表数据
我有一个表显示数据库中的数据。 我有一个选择框,人们可以选择他想要显示数据的货币。
当他这样做时,我需要刷新数据并显示为新货币。 而且我无法弄清楚如何在不刷新整个页面的情况下这样做。
有什么想法吗?
В рублях USD EURO Сервер 1 кк адены 1 ккк адены <?php $sql = mysql_query("SELECT * FROM `prices`"); while($r = mysql_fetch_array($sql)) { echo("\t\t\n"); echo("\t\t\t".$r['name']." \n"); echo("\t\t\t$".round($r['kk']/$dollar, 2)." \n"); echo("\t\t\t$".round($r['kkk']/$dollar, 2)." \n"); echo("\t\t \n"); } ?>
如果您可以保留数据转换的因子(对于转换USD> AUS USD> EUR或其他),您可以使用一个常规选择器在整个表中委派更改。
首先你把所有的因素都放在js vars中这样(这个必须在php文件里面做,其他东西可以在单独的js中完成):
var USDtoEUR =
你要做的下一件事是绑定事件以点击选择框,按钮或其他任何东西,让我们说它是选择id为“currency”:
$('#currency'). click(function() { switch ($('this').val()) { case 'EUR' { //Code we will discuss is going here } break; //... etc...
因此,我们希望更改我们假设的所有数据是点击美元,因此我们将所有因素从usd转换为存储在单独的vars USDtoXXX中的其他值。 请注意,我们也需要一个USDtoUSD。
现在……无论结构如何,包含动态更改数据的元素都应具有类和inusd属性,如下所示:
123
应该将usd中的价格存储到属性中,以使其与将要更改的dom内容无关。
所以对于上面的例子,我们这样做:
$('.price').each(function() { $(this).text()=$(this).attr('inusd')*USDtoEUR; //If user selected EUR }
小心在switch语句中使用break和default … javascript switch让case放弃他们的条件。
另外,在使用钱时,请对计算function进行深入测试,javascript也会不时地弄乱upp:D
您可以使用Ajax,它允许请求数据库并检索数据而无需刷新整个页面。
以下是介绍: http : //www.w3schools.com/jquery/jquery_ajax_intro.asp
然后,查看jquery API并查看示例: http : //api.jquery.com/jQuery.ajax/
祝好运