Цитата:
<html>
<body>
<table style="border:1px solid #888888"><tr>
<td>
<select id="sel">
<option value="def" selected>Сделайте выбор
<option>Dell</option>
<option>Asus</option>
<option>Lenovo </option>
</select>
</td>
<td id="result" width="40px">
</td>
</tr>
<script>
var price = ['',300,400,500]; // формировать в PHP
var sel = document.getElementById("sel");
sel.onchange = function()
{
var s = price[sel.selectedIndex];
//alert(s);
var r = document.getElementById("result");
r.innerHTML = s;
};
</script>
</body>
</html>
|
Спасибо. Только вот это не ясно:
var price = ['',300,400,500]; // формировать в PHP |
Сделал! Вот как:
В <select> добавил id (<select id="sel">), чтобы можно было оперировать им в javascript. В <td> таблицы также назначил id="result", сюда будет выводиться стоимость. Затем в цикл while добавил $noteprice[] = $rownotebook[1], чтобы получать данные из запроса в массив $noteprice. Вот код: Код:
<table><tr><td>Код:
<script>Создаем массив в js по типу var price = [a,b,c,d,...]. Но в качестве значений (a,b,c,d,...) мы берем то, что "отдал" нам php: <?php echo implode(",", $noteprice); ?>. Что отдает нам php? При помощи функции implode массив $noteprice соединяется в строку, используя запятую между значениями. То есть он в моем случае отдает 300,400,500 Ну а так как первый option у меня не должен иметь какое-либо значение (<option value="def" selected>Сделайте выбор), первое значение массива для js мы определим как "пустое место" (одинарные кавычки без значения). Код:
var price = ['',<?php echo implode(",", $noteprice); ?>];Код:
var sel = document.getElementById("sel");Код:
sel.onchange = function()Код:
var s = price[sel.selectedIndex];Код:
var r = document.getElementById("result");Код:
r.innerHTML = s; |
| Часовой пояс GMT +3, время: 12:21. |