Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как привязать к выпадающему списку ....
 
 автор: dmtrfoxerr   (27.11.2007 в 11:51)   письмо автору
 
 

Доброго дня Всем!!!
Есть вопросик по выпадающему списку .
Я вывожу список из таблицы ... подскажите как выводить рядом из поля DESCRIPT
те... если я выбираю в select'e книгу соответсвенно рядом появляется описание этой книги ...
Надеюсь доходдчиво объяснил .... ))

<?
$query 
"SELECT id_book, book, descript FROM book";
    
$result=mysql_query($query);
    
$num=(int)$num;
   while(list(
$id_book$book$descript)=mysql_fetch_row($result))
  {
   
$selected="";
   if(
$id_book==$num$selected="selected"
     
$book_droplist.="<option value=\"$id_book\" $selected>$book</option>\n";
  }
?>
<tr><td>Список Книг:</td><td><select name="book"><option>-</option><? echo $book_droplist?>
</select></td>
<td></td>
</tr>

Спасибо...

   
 
 автор: elenaki   (27.11.2007 в 14:07)   письмо автору
 
   для: dmtrfoxerr   (27.11.2007 в 11:51)
 

если описаний не слишком много, можно выводить их в невидимые слои в том же цикле, где
строится select, а по клику на опции селекта делать соответствующий слой видимым. в этом
случае у вас все описания (тексты) уже будут на странице. если не хотите слишком перегружать
страницу (имеется ввиду невидимым текстом) - AJAX.
запрос, выбор описания, вывод в нужном месте. без перезагрузки страницы.

   
 
 автор: dmtrfoxerr   (27.11.2007 в 15:02)   письмо автору
 
   для: elenaki   (27.11.2007 в 14:07)
 

AJAX - это конечно хорошо !!! Но пока сложно для меня -)) А есть по-проще вариант ...???

   
 
 автор: sim5   (27.11.2007 в 15:08)   письмо автору
 
   для: dmtrfoxerr   (27.11.2007 в 15:02)
 

Описания не слишком большие?

   
 
 автор: dmtrfoxerr   (27.11.2007 в 15:09)   письмо автору
 
   для: sim5   (27.11.2007 в 15:08)
 

НЕТ ... скорее это пояснение (расшифровка)

   
 
 автор: _forester_   (27.11.2007 в 15:14)   письмо автору
 
   для: dmtrfoxerr   (27.11.2007 в 15:02)
 

Ну по-проще вам уже написали, видимо вам нужна реализация. Выглядеть это будет так.

Чтобы не парится с позиционированием кучи невидимых блоков, все ваши описания генерируете в страницу скажем в дивниках (естественно спрятанных) с id вида desc_book_+id. target_div - это id дива в который нужно выводить текст


<select onchange="document.getElementById('target_div').innerHTML = document.getElementById('desc_book_'+this.value).innerHTML">
   <option>....</option>
</select>

   
 
 автор: sim5   (27.11.2007 в 15:20)   письмо автору
 
   для: _forester_   (27.11.2007 в 15:14)
 

Ну зачем куча слоев. Занести описания в массив (JS), а при изменении выбора, по выбранному индексу опшена, его описание из массива заносить в единственный для это слой.

   
 
 автор: mihdan   (27.11.2007 в 15:29)   письмо автору
 
   для: sim5   (27.11.2007 в 15:20)
 

sim5 прав - простое и правильное решение

   
 
 автор: dmtrfoxerr   (28.11.2007 в 15:28)   письмо автору
 
   для: sim5   (27.11.2007 в 15:20)
 

Спасибо за предложения.. а есть пример кода.... а то я не силен в JS

   
 
 автор: sim5   (29.11.2007 в 06:25)   письмо автору
 
   для: dmtrfoxerr   (28.11.2007 в 15:28)
 


<script>
//ds это объявление массива, 
//в котором будут помещены описания опшенов,
//поместите в него РНР переменные,
//например, если РНР массив описания $desc
var ds = new Array("<?php=$desc[0];?>","<?php=$desc[1];?>","<?php=$desc[2];?>");
function showDesc(i) {
 document.getElementById('shw').innerHTML = ds[i];
}
</script>
<select name="" onchange="showDesc(this.selectedIndex)">
<option value="1">sel 1</option>
<option value="2">sel 2</option>
<option value="3">sel 3</option>
</select>
<div id="shw"></div>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования