Добрый день.
Помогите, пожалуйста, сдвинуться с места. Нужно сделать калькулятор стоимости доставки. Данные по городам и регионам, а также тарифы в зависимости от веса храняться в базе данных. Я сделала форму с выпадающим списком места назначения и полем для ввода веса.
Тарифы занесла в двумерный массив, где индексы - это зона и весовой диапазон.
При выборе пункта назначения определяю зону. При вводе веса определяю весовой диапазон. И тут ступор. Надо как-то обратиться к конкретному элементу массива с полученными посредством 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>" |