Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2013, 19:22
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Появление DropDown...
Всем здравствуйте!
С уважением прошу помочь мне! Сегодня целый день вожусь, но ничего не смог придумать...

У меня такая проблема:
Я хочу сделать так, чтобы при выборе определённого пункта, внизу открывался доп. DropDown... Я делаю сайт на тему "Помощь по высоким технологиям" и вот делаю форму помощи... Сейчас я Вам предоставлю материалы, которые я уже сотворил:

index.html
<head>
    <meta charset="utf-8">
    <title>Главная</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
<script src="jquery.js"></script>
<script>
$(document).ready(function() { 
$.viewInput = { 
'0' : $([]), 
//THIS IS THE NAME OF THE DIV WRAPPING THE HIDDEN FIELD 
'comp' : $('#comp'), 
'phone' : $('#phone'),  
}; 
 
$('#apparat').change(function() { 
// HIDES THE INPUT FIELD IF ANOTHER DROPDOWN ITEM IS SELECTED ONCE THE HIDDEN FIELD IS LOADED 
$.each($.viewInput, function() { this.hide(); }); 
// SHOWS THE INPUT FIELD ITEM IF SELECTED 
$.viewInput[$(this).val()].show(); 
});
 
});
</script>
<style>
/* SET THE HIDDEN INPUT FIELD IN A DIV */ 
 
#comp { 
display: none; 
}
#phone { 
display: none; 
}
#note { 
display: none; 
}
 
/* FORM */ 
 
fieldset { 
width: 290px; 
margin: 0; 
padding: 20px; 
background: #f4f4f4; 
border: 1px solid #ddd; 
} 
 
label { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #444; 
margin: 0 20px 10px 0; 
padding: 0; 
clear: left; 
} 
 
.textfield, .dropdown { 
width: 200px; 
font: normal 1.0em arial,verdana,tahoma,sans-serif; 
color: #666; 
margin: 0 0 20px 0; 
padding: 5px 6px; 
background: #fff; 
border: 1px solid #ddd; 
} 
 
.dropdown { 
width: 215px; 
} 
 
input:focus, select:focus { 
border: 1px solid #ccc; 
} 
 
.btn, .btn:focus { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #333; 
text-decoration: none; 
margin: 0; 
padding: 3px 5px; 
}
</style>
</head>
<body>
<form id="order" method="post" action="send.php"> 
<fieldset> 
 
<label>Введите Ваше имя:</label> 
<input type="text" name="name" class="textfield" /> 
 
<label>Введите Ваш адрес электронной почты:</label> 
<input type="text" name="email" class="textfield" /> 
 
<label>Выберите тип сломанного аппарата:</label> 
<select class="dropdown" name="apparat" id="apparat"> 
<option>Выберите...</option> 
<option value="comp">Компьютер</option> 
<option value="phone">Телефон</option>
</select>
 
<!-- BEGIN HIDDEN INPUT -->
<div id="comp"> 
<label>Выберите тип Вашего компьютера:</label> 
<select name="compv" class="dropdown" id="compv"> 
<option value="notebook">Переносной ПК (ноутбук, нетбук)</option> 
<option value="stat">Стационарный ПК</option>
</select>
<div id="note">
<textarea name="note" cols="55" rows="5"></textarea>
</div>
</div> 
<!-- BEGIN HIDDEN INPUT -->
<div id="phone"> 
<label>Выберите производителя Вашего телефона:</label> 
<select name="phonev" class="dropdown" id="phonev"> 
<option value="apple">Apple</option>
<option value="htc">HTC</option>
<option value="nokia">Nokia</option>
<option value="samsung">Samsung</option> 
<option value="lg">LG</option>
</select>
</div> 
<!-- END HIDDEN INPUT -->
 
<input type="submit" name="Submit" value="Submit" class="btn" onclick="this.blur();" /> 
</fieldset> 
</form>
</body>


А ну и всё... не думаю, что для решения вопроса нужен jQuery.js ...
Дак вот в чём проблема... я смог сделать, чтобы при нажатии на пункт "Компьютер" и чтобы при нажатии на пункт "Телефоны" выпадал доп. список, но увы не смог сделать так, чтобы при нажатии на все остальные подпункты выпадали, например, textarea...

Ребят можете подсказать как сделать, чтобы это всё дело заработало?? Хотя бы намёк... Я так понимаю, что в <script>...</script> они друг другу мешают...

Пожалуйста!!! Помогите
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2013, 10:58
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

Друг, если я понял тебя правильно, то может быть как то так
<head>
    <meta charset="utf-8">
    <title>Главная</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
<script src="jquery.js"></script>
<script>
$(document).ready(function() { 
$('#apparat').change(function() { 
$('.drop').hide() 
$('#'+this.value).show()})})

</script>
<style>
/* SET THE HIDDEN INPUT FIELD IN A DIV */ 
 
#comp { 
display: none; 
}
#phone { 
display: none; 
}
#note { 
display: none; 
}
 
/* FORM */ 
 
fieldset { 
width: 290px; 
margin: 0; 
padding: 20px; 
background: #f4f4f4; 
border: 1px solid #ddd; 
} 
 
label { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #444; 
margin: 0 20px 10px 0; 
padding: 0; 
clear: left; 
} 
 
.textfield, .dropdown { 
width: 200px; 
font: normal 1.0em arial,verdana,tahoma,sans-serif; 
color: #666; 
margin: 0 0 20px 0; 
padding: 5px 6px; 
background: #fff; 
border: 1px solid #ddd; 
} 
 
.dropdown { 
width: 215px; 
} 
 
input:focus, select:focus { 
border: 1px solid #ccc; 
} 
 
.btn, .btn:focus { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #333; 
text-decoration: none; 
margin: 0; 
padding: 3px 5px; 
}
</style>
</head>
<body>
<form id="order" method="post" action="send.php"> 
<fieldset> 
 
<label>Введите Ваше имя:</label> 
<input type="text" name="name" class="textfield" /> 
 
<label>Введите Ваш адрес электронной почты:</label> 
<input type="text" name="email" class="textfield" /> 
 
<label>Выберите тип сломанного аппарата:</label> 
<select class="dropdown" name="apparat" id="apparat"> 
<option value="none">Выберите...</option> 
<option value="comp">Компьютер</option> 
<option value="phone">Телефон</option>
<option value="note">Другое#1</option>
<option value="note">Другое#2</option>
<option value="note">Другое#3</option>
</select>
 
<!-- BEGIN HIDDEN INPUT -->
<div id="comp" class="drop"> 
<label>Выберите тип Вашего компьютера:</label> 
<select name="compv" class="dropdown" id="compv"> 
<option value="notebook">Переносной ПК (ноутбук, нетбук)</option> 
<option value="stat">Стационарный ПК</option>
</select>
</div> 
<!-- END HIDDEN INPUT -->

<!-- BEGIN HIDDEN INPUT -->
<div id="note" class="drop">
<label>Опишите здесь чтото:</label> 
<textarea name="note" class="dropdown"></textarea>
</div>
<!-- END HIDDEN INPUT -->

<!-- BEGIN HIDDEN INPUT -->
<div id="phone" class="drop"> 
<label>Выберите производителя Вашего телефона:</label> 
<select name="phonev" class="dropdown" id="phonev"> 
<option value="apple">Apple</option>
<option value="htc">HTC</option>
<option value="nokia">Nokia</option>
<option value="samsung">Samsung</option> 
<option value="lg">LG</option>
</select>
</div> 
<!-- END HIDDEN INPUT -->
 
<input type="submit" name="Submit" value="Submit" class="btn" onclick="this.blur();" /> 
</fieldset> 
</form>
</body>

Последний раз редактировалось bushstas, 05.01.2013 в 11:01.
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2013, 13:06
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Сообщение от bushstas Посмотреть сообщение
Друг, если я понял тебя правильно, то может быть как то так
<head>
    <meta charset="utf-8">
    <title>Главная</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
<script src="jquery.js"></script>
<script>
$(document).ready(function() { 
$('#apparat').change(function() { 
$('.drop').hide() 
$('#'+this.value).show()})})

</script>
<style>
/* SET THE HIDDEN INPUT FIELD IN A DIV */ 
 
#comp { 
display: none; 
}
#phone { 
display: none; 
}
#note { 
display: none; 
}
 
/* FORM */ 
 
fieldset { 
width: 290px; 
margin: 0; 
padding: 20px; 
background: #f4f4f4; 
border: 1px solid #ddd; 
} 
 
label { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #444; 
margin: 0 20px 10px 0; 
padding: 0; 
clear: left; 
} 
 
.textfield, .dropdown { 
width: 200px; 
font: normal 1.0em arial,verdana,tahoma,sans-serif; 
color: #666; 
margin: 0 0 20px 0; 
padding: 5px 6px; 
background: #fff; 
border: 1px solid #ddd; 
} 
 
.dropdown { 
width: 215px; 
} 
 
input:focus, select:focus { 
border: 1px solid #ccc; 
} 
 
.btn, .btn:focus { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #333; 
text-decoration: none; 
margin: 0; 
padding: 3px 5px; 
}
</style>
</head>
<body>
<form id="order" method="post" action="send.php"> 
<fieldset> 
 
<label>Введите Ваше имя:</label> 
<input type="text" name="name" class="textfield" /> 
 
<label>Введите Ваш адрес электронной почты:</label> 
<input type="text" name="email" class="textfield" /> 
 
<label>Выберите тип сломанного аппарата:</label> 
<select class="dropdown" name="apparat" id="apparat"> 
<option value="none">Выберите...</option> 
<option value="comp">Компьютер</option> 
<option value="phone">Телефон</option>
<option value="note">Другое#1</option>
<option value="note">Другое#2</option>
<option value="note">Другое#3</option>
</select>
 
<!-- BEGIN HIDDEN INPUT -->
<div id="comp" class="drop"> 
<label>Выберите тип Вашего компьютера:</label> 
<select name="compv" class="dropdown" id="compv"> 
<option value="notebook">Переносной ПК (ноутбук, нетбук)</option> 
<option value="stat">Стационарный ПК</option>
</select>
</div> 
<!-- END HIDDEN INPUT -->

<!-- BEGIN HIDDEN INPUT -->
<div id="note" class="drop">
<label>Опишите здесь чтото:</label> 
<textarea name="note" class="dropdown"></textarea>
</div>
<!-- END HIDDEN INPUT -->

<!-- BEGIN HIDDEN INPUT -->
<div id="phone" class="drop"> 
<label>Выберите производителя Вашего телефона:</label> 
<select name="phonev" class="dropdown" id="phonev"> 
<option value="apple">Apple</option>
<option value="htc">HTC</option>
<option value="nokia">Nokia</option>
<option value="samsung">Samsung</option> 
<option value="lg">LG</option>
</select>
</div> 
<!-- END HIDDEN INPUT -->
 
<input type="submit" name="Submit" value="Submit" class="btn" onclick="this.blur();" /> 
</fieldset> 
</form>
</body>
Ничего себе! Так сократить и работа улучшилась... Спасибо большое!!! Вот работа то улучшилась, но проблема не решилась... Мне нужно чтобы при нажатии на "Стационарный ПК" выпадало как раз вот: "Опишите здесь что-то"... Уже с Вашим вариантом попробовал по тому же принципу подключить dropdown "compv" но не получилось...
Ответить с цитированием
  #4 (permalink)  
Старый 05.01.2013, 13:16
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

А нет... При нажатии у меня вывести то получилось... Но при выводе "Опишите здесь что-то" уходит dropdown id="comp"... С этим я как-то справится не могу... Помогите, пожалуйста...
Ответить с цитированием
  #5 (permalink)  
Старый 05.01.2013, 14:40
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

может тогда так

обязательно убери #note{display:none}

<head>
    <meta charset="utf-8">
    <title>Главная</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
<script src="jquery.js"></script>
<script>


$(document).ready(function() { 
$('#apparat').change(function() { 
$('.drop').hide() 
$('#'+this.value).show()})})


</script>
<style>
/* SET THE HIDDEN INPUT FIELD IN A DIV */ 
 
#comp { 
display: none; 
}
#phone { 
display: none; 
}

/* FORM */ 
 
fieldset { 
width: 290px; 
margin: 0; 
padding: 20px; 
background: #f4f4f4; 
border: 1px solid #ddd; 
} 
 
label { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #444; 
margin: 0 20px 10px 0; 
padding: 0; 
clear: left; 
} 
 
.textfield, .dropdown { 
width: 200px; 
font: normal 1.0em arial,verdana,tahoma,sans-serif; 
color: #666; 
margin: 0 0 20px 0; 
padding: 5px 6px; 
background: #fff; 
border: 1px solid #ddd; 
} 
 
.dropdown { 
width: 215px; 
} 
 
input:focus, select:focus { 
border: 1px solid #ccc; 
} 
 
.btn, .btn:focus { 
display: block; 
font: bold 1.0em arial,verdana,tahoma,sans-serif; 
color: #333; 
text-decoration: none; 
margin: 0; 
padding: 3px 5px; 
}
</style>
</head>
<body>
<form id="order" method="post" action="send.php"> 
<fieldset> 
 
<label>Введите Ваше имя:</label> 
<input type="text" name="name" class="textfield" /> 
 
<label>Введите Ваш адрес электронной почты:</label> 
<input type="text" name="email" class="textfield" /> 
 
<label>Выберите тип сломанного аппарата:</label> 
<select class="dropdown" name="apparat" id="apparat"> 
<option value="none">Выберите...</option> 
<option value="comp">Компьютер</option> 
<option value="phone">Телефон</option>
</select>
 
<!-- BEGIN HIDDEN INPUT -->
<div id="comp" class="drop"> 
<label>Выберите тип Вашего компьютера:</label> 
<select name="compv" class="dropdown" id="compv"> 
<option value="notebook">Переносной ПК (ноутбук, нетбук)</option> 
<option value="stat">Стационарный ПК</option>
</select>

<div id="note">
<label>Опишите здесь чтото:</label> 
<textarea name="note" class="dropdown"></textarea>
</div>
</div> 
<!-- END HIDDEN INPUT -->





<!-- BEGIN HIDDEN INPUT -->
<div id="phone" class="drop"> 
<label>Выберите производителя Вашего телефона:</label> 
<select name="phonev" class="dropdown" id="phonev"> 
<option value="apple">Apple</option>
<option value="htc">HTC</option>
<option value="nokia">Nokia</option>
<option value="samsung">Samsung</option> 
<option value="lg">LG</option>
</select>
</div> 
<!-- END HIDDEN INPUT -->
 
<input type="submit" name="Submit" value="Submit" class="btn" onclick="this.blur();" /> 
</fieldset> 
</form>
</body>
__________________
не стреляйте в пианиста, он играет, как умеет

Последний раз редактировалось bushstas, 05.01.2013 в 14:45.
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2013, 16:49
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Нет... Не получается... Он тогда показывает "Опишите здесь что-то" сразу при нажатии на "Компьютер"...
Ответить с цитированием
  #7 (permalink)  
Старый 05.01.2013, 17:28
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

все очень просто технически просто не пойму что конкретно нужно опиши на словах сколько селектов сколько там опций и что должно появляться при выборе каждой опции, без проблем сделаю тебе код
__________________
не стреляйте в пианиста, он играет, как умеет
Ответить с цитированием
  #8 (permalink)  
Старый 05.01.2013, 17:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

hide - делает код спойлером(дабы топик оставался читаемым
[HTML hide run height=300][/HTML]
Ответить с цитированием
  #9 (permalink)  
Старый 05.01.2013, 18:29
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Сообщение от bushstas Посмотреть сообщение
все очень просто технически просто не пойму что конкретно нужно опиши на словах сколько селектов сколько там опций и что должно появляться при выборе каждой опции, без проблем сделаю тебе код
1.При выборе "Компьютер" должно выйти dropdown "Тип компьютера" (Переносной ПК (Ноутбук, Нетбук)) и (Настольный ПК) >
1.1.1.При выборе "Переносной ПК" должно выйти dropdown "Производитель" (Apple, Acer, Asus, Dell, HP, LG, Lenovo, Panasonic, RoverBook, Samsung, Sony, Toshiba) >
1.1.2.При выборе любого из производителей должны выйти 2 textarea... 1textarea "Марка"(например: RS700) 2textarea "Описание проблемы"///
1.2.1.При выборе "Настольный ПК" выпадает textarea "Описание проблемы"///
2.При выборе "Телефон" должен выпасть dropdown "Производитель" (Apple, HTC, Nokia, Samsung, LG)
2.1.При выборе любого из производителей должны выпасть textarea: 1textarea "Марка" (например: E2134), 2textarea "Описание проблемы"///

Вот и вся форма... Но самое главное в этом это, наконец таки вывести textarea... Помогите с осуществлением JS, пожалуйста!
Ответить с цитированием
  #10 (permalink)  
Старый 12.02.2013, 21:26
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Помогите ПОЖАЛУЙСТА!!!
Сообщение от bushstas Посмотреть сообщение
все очень просто технически просто не пойму что конкретно нужно опиши на словах сколько селектов сколько там опций и что должно появляться при выборе каждой опции, без проблем сделаю тебе код
1.При выборе "Компьютер" должно выйти dropdown "Тип компьютера" (Переносной ПК (Ноутбук, Нетбук)) и (Настольный ПК) >
1.1.1.При выборе "Переносной ПК" должно выйти dropdown "Производитель" (Apple, Acer, Asus, Dell, HP, LG, Lenovo, Panasonic, RoverBook, Samsung, Sony, Toshiba) >
1.1.2.При выборе любого из производителей должны выйти 2 textarea... 1textarea "Марка"(например: RS700) 2textarea "Описание проблемы"///
1.2.1.При выборе "Настольный ПК" выпадает textarea "Описание проблемы"///
2.При выборе "Телефон" должен выпасть dropdown "Производитель" (Apple, HTC, Nokia, Samsung, LG)
2.1.При выборе любого из производителей должны выпасть textarea: 1textarea "Марка" (например: E2134), 2textarea "Описание проблемы"///

Вот и вся форма... Но самое главное в этом это, наконец таки вывести textarea... Помогите с осуществлением JS, пожалуйста!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление и исчезание с анимацией hell100 Общие вопросы Javascript 9 01.05.2012 21:57
Плавное исчезновение и появление изображения Surlik jQuery 9 17.03.2012 14:27
Появление надписи vladimircape Общие вопросы Javascript 0 06.03.2012 15:36
Поочередное появление элементов <tr> gromitsu jQuery 3 27.11.2011 21:20
Как сделать медленное появление <span> Dimario AJAX и COMET 1 15.04.2011 00:11