|
|
|
| Доброго дня Всем!!!
Есть вопросик по выпадающему списку .
Я вывожу список из таблицы ... подскажите как выводить рядом из поля 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>
|
Спасибо... | |
|
|
|
|
|
|
|
для: dmtrfoxerr
(27.11.2007 в 11:51)
| | если описаний не слишком много, можно выводить их в невидимые слои в том же цикле, где
строится select, а по клику на опции селекта делать соответствующий слой видимым. в этом
случае у вас все описания (тексты) уже будут на странице. если не хотите слишком перегружать
страницу (имеется ввиду невидимым текстом) - AJAX.
запрос, выбор описания, вывод в нужном месте. без перезагрузки страницы. | |
|
|
|
|
|
|
|
для: elenaki
(27.11.2007 в 14:07)
| | AJAX - это конечно хорошо !!! Но пока сложно для меня -)) А есть по-проще вариант ...??? | |
|
|
|
|
|
|
|
для: dmtrfoxerr
(27.11.2007 в 15:02)
| | Описания не слишком большие? | |
|
|
|
|
|
|
|
для: sim5
(27.11.2007 в 15:08)
| | НЕТ ... скорее это пояснение (расшифровка) | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: _forester_
(27.11.2007 в 15:14)
| | Ну зачем куча слоев. Занести описания в массив (JS), а при изменении выбора, по выбранному индексу опшена, его описание из массива заносить в единственный для это слой. | |
|
|
|
|
|
|
|
для: sim5
(27.11.2007 в 15:20)
| | sim5 прав - простое и правильное решение | |
|
|
|
|
|
|
|
для: sim5
(27.11.2007 в 15:20)
| | Спасибо за предложения.. а есть пример кода.... а то я не силен в JS | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|