PDA

Просмотр полной версии : Требуется знание javascript


selevit
29.08.2009, 15:49
Всем доброго времени суток, я делаю форму добавления постов на свой сайт, и у меня такая проблема, есть два раздела - софт и игры, и в каждом разделе несколько категорий, вот пример выбора

http://s43.radikal.ru/i101/0908/e4/a52426f476ab.jpg




вот к примеру код кнопок с разделами:

<input name="soft" type="button" value="Софт">
<input name="games" type="button" value="Игры">

Подскажите, что сюда надо добавить, чтобы при нажатии на одну из кнопок выводился список категорий в таком виде:


http://i022.radikal.ru/0908/b5/1be1b6af0060.jpg

Pashkela
29.08.2009, 15:51
http://www.htmlbook.ru/html/select.html

selevit
29.08.2009, 16:00
Вы меня не поняли, мне нужно, чтобы при нажатии на одну из кнопкок баттон выводился спикок категорий, соответствующий разделу данной кнопки:


http://s43.radikal.ru/i101/0908/e4/a52426f476ab.jpg

m0Hze
29.08.2009, 16:03
онклик,показываем скритый див с селектами,при тыке на другую,прячем 1 див - открываем другой.

selevit
29.08.2009, 16:12
онклик,показываем скритый див с селектами,при тыке на другую,прячем 1 див - открываем другой.

я так понимаю все это пишется на яваскрипт, можно привести пример кода? :)

diGriz
29.08.2009, 16:14
Реализация с помощью jQuery.


<script src='js/jquery.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
$('#soft').click(function() {
$.ajax({
type: "POST",
url: "jres2.php",
data: "type="+1,
success: function(html){
$("#categories").html(html);
}
});
});
$('#games').click(function() {
$.ajax({
type: "POST",
url: "jres2.php",
data: "type="+2,
success: function(html){
$("#categories").html(html);
}
});
});
});
</script>
<input name="soft" type="button" value="софт" id="soft"/>
<input name="games" type="button" value="игры" id="games"/>
<div id="categories">

</div>


Софт это тип=1, игры=2.

<?php
if($_POST['type'] == '1') {
$html = '<select name="spisok">
<option>Soft 1</option>
<option>Soft 2</option>
</select>
';
echo $html;
}
if($_POST['type'] == '2') {
$html = '<select name="spisok">
<option>Game 1</option>
<option>Game 2</option>
</select>
';
echo $html;
}
?>

selevit
29.08.2009, 16:36
я в этом вообще почти не шарю - как мне это реализовать на своей странице?

diGriz
29.08.2009, 16:46
1) Качаешь jQuery с jQuery.com
2) Создаешь файл, например, index.php, пишешь туда код из 1-го скрипта.
3) Создаешь файл jres2.php в этой же папке. В нем в зависимости от пришедшего значения формируется список. Значения, которые будут в списке можешь выбирать из бд, ну или если они постоянные можешь их задать в jres2.php. Можно форму тоже сделать в jres2.php или в уже готовую подставлять список(<div id="categories">).

Попробуй сначала, так сделать. Потом когда разберешься, можешь делать на своем сайте.

selevit
29.08.2009, 16:57
мне надо, чтобы при нажатии кнопки сразу на этой же странице выводился списока категорий, вот что я хочу.

selevit
29.08.2009, 17:00
извините за наглость, можно код, чтобы я просто вставил его в форму и все работало?

diGriz
29.08.2009, 17:12
Ты хоть форму свою покажи. Вообщем, для примера форма.

<form action="someshit.php" method="post">
<input type="text" name="text1"/>
<input type="text" name="text2"/>
<div id="categories">
<!-- тут будет список-->
</div>
<input type="submit" />
</form>


+ к этому подключаешь jquery и создаешь файл jres2.php

Pashkela
29.08.2009, 17:17
<script language="JavaScript">
function Menue() {
document.all.soft1.style.visibility="visible"
document.all.games1.style.visibility="hidden"
}
function Menue1() {
document.all.soft1.style.visibility="hidden"
document.all.games1.style.visibility="visible"
}
</script>
<input name="soft" type="button" value="Софт" onClick="Menue()"><input name="games" type="button" value="Игры" onClick="Menue1()">
<br>
<br>
<select id="soft1" size="1" name="soft1" style="visibility:hidden;">
<option selected value>Soft - 1</option>
<option>Soft-2</option>
</select></div>
<select id="games1" size="1" name="games1" style="visibility:hidden;">
<option selected value>Games - 1</option>
<option>Games-2</option>
</select></div>

selevit
29.08.2009, 17:21
спасибо всем!!! я разобрался!!!

diGriz
29.08.2009, 17:40
2 Pashkela
Так будут передаваться значения сразу из 2-х списков.

Pashkela
29.08.2009, 17:45
Куда передаваться? Я просто ответил на вопрос из первого поста. Передачу не осуществлял. Не вижу никаких проблем с передачей в будущем - у всех select свой id и name. Если так нужна передача данных в PHP - пожалуйста:


<script language="JavaScript">
function Menue() {
document.all.soft1.style.visibility="visible"
document.all.games1.style.visibility="hidden"
}
function Menue1() {
document.all.soft1.style.visibility="hidden"
document.all.games1.style.visibility="visible"
}
</script>
<form method="post">
<input name="soft" type="button" value="Софт" onClick="Menue()">&nbsp;&nbsp;&nbsp;<input name="games" type="button" value="Игры" onClick="Menue1()">
<br>
<br>
<select id="soft1" size="1" name="soft1" style="visibility:hidden;">
<option selected value>Выберите софт:</option>
<option>Soft-1</option>
<option>Soft-2</option>
<option>Soft-3</option>
<option>Soft-4</option>
<option>Soft-5</option>
</select></div>
<select id="games1" size="1" name="games1" style="visibility:hidden;">
<option selected value>Выберите игру:</option>
<option>Games-1</option>
<option>Games-2</option>
<option>Games-3</option>
<option>Games-4</option>
<option>Games-5</option>
</select></div>
<br>
<br>
<input type="submit" value="Выбрать" />
</form>
<?php
$soft = $_POST['soft1'];
$game = $_POST['games1'];
if ($soft) echo "Вы выбрали софт - $soft";
if ($game) echo "Вы выбрали игру - $game";
?>


и без всяких jquery