Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Требуется знание javascript (https://forum.antichat.xyz/showthread.php?t=138125)

selevit 29.08.2009 15:49

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

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




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

Код HTML:

<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

Цитата:

Сообщение от m0Hze
онклик,показываем скритый див с селектами,при тыке на другую,прячем 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 код:

<?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

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>
<
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 - пожалуйста:

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


Время: 03:47