Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2012, 17:39
Новичок на форуме
Отправить личное сообщение для Katik Посмотреть профиль Найти все сообщения от Katik
 
Регистрация: 29.02.2012
Сообщений: 4

Калькулятор стоимости доставки
Добрый день.
Помогите, пожалуйста, сдвинуться с места. Нужно сделать калькулятор стоимости доставки. Данные по городам и регионам, а также тарифы в зависимости от веса храняться в базе данных. Я сделала форму с выпадающим списком места назначения и полем для ввода веса.
Тарифы занесла в двумерный массив, где индексы - это зона и весовой диапазон.
При выборе пункта назначения определяю зону. При вводе веса определяю весовой диапазон. И тут ступор. Надо как-то обратиться к конкретному элементу массива с полученными посредством javascript индексами зоны и веса. Либо передать массив в js.

Рабочий код
Код:
<script type="text/javascript">

function Ves(objForm)
{
var massa = objForm.weight.value;
var diapazon;
if ((massa > 0) && (massa <2.99999)){diapazon = 'm0';}
else if ((massa > 2.99999) && (massa < 5.99999)) {diapazon = 'm3';}
else if ((massa > 5.99999) && (massa < 10.99999)) {diapazon = 'm6';}
else if ((massa > 10.99999) && (massa < 20.99999)) {diapazon = 'm11';}
else if ((massa > 20.99999) && (massa < 30.99999)) {diapazon = 'm21';}
else if (massa > 30.99999) {diapazon = 'm31';}

diap.innerHTML = diapazon;
}

function calc() {

var zona = document.getElementById("Locations");
var place=zona.options[zona.selectedIndex].value;

zone.innerHTML = place;
		}
</script>

</head>
<body>


<? $col=mysql_query("SELECT * FROM calc_zone");
$num_fields = mysql_num_fields($col);
while ($mas=mysql_fetch_array($col))
{
	for ($j=1; $j<$num_fields; $j++)
	{   $field_name = mysql_field_name($col,$j);
		$massa[$mas['id']][$field_name]=$mas[$field_name];
	}
}

?>

<form onsubmit="return false" id="PostcalcMainForm">
<table>
<tr><td>Куда: </td>
<td>
<select id="Locations" name="kuda" onchange="calc()" style="width:400">
<optgroup label="Города">
<? 

$result=mysql_query("SELECT * FROM calc_city");
while ($row=mysql_fetch_array($result)){
	echo "<option value=\"".$row['zone']."\">".$row['name']."</option>\n";}
?>
</optgroup>
<optgroup label="Регионы">
<? 
$res=mysql_query("SELECT * FROM calc_region");
while ($rows=mysql_fetch_array($res)){
		echo "<option value=\"".$rows['zone']."\">".$rows['name']."</option>\n";}
?>
</optgroup>
</select>	</td>
</tr>

<tr><td>Вес, кг: </td>
<td><input id="weight" type="text" size="5" value="1" onkeyup="Ves(this.form);"></td></tr>
</table>		
</form>
<div>Стоимость: <span id="result">0</span> руб.</div>	
<div>Зона: <span id="zone">0</span></div>
<div>Диапазон: <span id="diap">0</span></div>"
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2012, 19:02
Кандидат Javascript-наук
Отправить личное сообщение для Slavenin Посмотреть профиль Найти все сообщения от Slavenin
 
Регистрация: 20.11.2010
Сообщений: 143

вариантов три, либо передать массив в js, на мой взгляд не лучший вариант, либо организовать ajax запрос к серверу с конкретными параметрами считать в пхп и возвращать результат, ну или просто отсылать форму с уже готовыми значениями и опять же считать на php и формировать форму с готовыми данными, уже посчитанными
__________________

Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2012, 15:32
Новичок на форуме
Отправить личное сообщение для Katik Посмотреть профиль Найти все сообщения от Katik
 
Регистрация: 29.02.2012
Сообщений: 4

Решила проще. Может, конечно, и варварски, зато все прекрасно считает. Занесла в скрытый селект тарифы (информация открытая), а индексы двумерного массива (зона и весовой диапазон) занесла в value в виде 0_m3 соответственно. С помощью нехитрых операций со строками и цикла перебираю все options и нахожу нужный элемент. Ну а там все просто считается.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доделать калькулятор расчета стоимости. mazaxaka jQuery 2 08.08.2012 16:14
Пишу калькулятор расчёта стоимости перевода текста. Первый сексуальный опыт с JS SurRealistik jQuery 9 29.07.2011 14:47
калькулятор стоимости (где поправить) Mexis Общие вопросы Javascript 2 29.11.2010 16:03
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46
Калькулятор работает ТОЛЬКО в ie6 (вопрос ламера) st_sinner Javascript под браузер 3 17.04.2010 18:11