2013-03-03 7 views
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> 
+0

Показать код пожалуйста – 999k

+0

я обновил пост – user2117875

ответ

0

Если вы можете держать факторы для преобразования данных (для конвертации USD> AUS USD> EUR или что угодно) вы можете делегировать изменение по всей таблице, используя один общий селектор.

сначала поместить все факторы в Js Варс, как это (это должно быть Doe внутри PHP файла и другие вещи можно сделать в отделенных JS):

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

Следующая вещь, которую вы делаете, вы связать событие нажать на поле выбора, кнопки или что-то, скажем, это выбрать с идентификатором «валюты»:

$('#currency'). click(function() { 
switch ($('this').val()) { 
    case 'EUR' { 
     //Code we will discuss is going here 
    } 
    break; 
//... etc... 

Итак, мы хотим изменить все данные, мы предполагаем, находится в долларах США на клик, благодаря чему мы имеем все факторы для преобразования из usd в другие значения, хранящиеся в отдельных vars USDtoXXX. Заметьте, что нам нужен еще один доллар США.

теперь ... Как бы то ни структура, элемент, содержащий динамически измененные данные должны иметь класс и inusd атрибуты, как это:

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

го цена в долларах США должны быть сохранены в качестве атрибута, чтобы он независим от содержание dom, которое изменится.

так для приведенного выше примера мы делаем это:

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

Будьте осторожны, чтобы использовать разрывы и по умолчанию в операторе переключатель ... переключатель позволяет Javascript случаи сбрасывают условия через.

Кроме того, при работе с деньгами, пожалуйста, сделайте в глубине тестировании счетных функций, JavaScript может испортить, что УПП, тоже время от времени: D

+0

отлично спасибо – user2117875

+0

Вы больше всего приветствуетесь – Rastko

1

Вы можете использовать Ajax, который позволяет запросить БД и получить данные без обновления всей страницы.

Вот введение: http://www.w3schools.com/jquery/jquery_ajax_intro.asp

Затем, посмотрите на JQuery API и посмотрите на примеры: http://api.jquery.com/jQuery.ajax/

удачи

+0

Спасибо за ответ, но я хотел бы кое-что немного конкретнее относительно того, какие методы/функции я должен использовать – user2117875

Смежные вопросы