Цитата:
<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, время: 05:18. |