|
|
|
| Здравтсвуйте! Помогите пожалуйста разобраться.
Есть multiple select при выборе значения появляется div.
Если выбрано несколько значений, то открыто соответственно несколько дивов.
Если значение не выбрано или с него сняли выделение, то див невидимый.
Сколько позиций в select заранее не известно.
Спасибо!
function sendReq (x)
{
document.getElementById("scnd"+x).style.display = "inline";
}
<select name="razdel[]" multiple onchange="sendReq (this.value)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
...
</select>
<div id="scnd1" style="display: none;">Яблоки</div>
<div id="scnd2" style="display: none;">Грецкий</div>
<div id="scnd3" style="display: none;">Помидоры</div>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 16:02)
| | Здарова!
function sendReq (x)
{
var act = document.getElementById("scnd"+x).style.display ;
if (act == "inline")
{
act = "none";
}
else
{
act = "inline";
}
}
<select name="razdel[]" multiple onchange="sendReq (this.value)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
...
</select>
<div id="scnd1" style="display: none;">Яблоки</div>
<div id="scnd2" style="display: none;">Грецкий</div>
<div id="scnd3" style="display: none;">Помидоры</div>
|
Я в js 0 но думаю так надо делать :) | |
|
|
|
|
|
|
|
для: LEM
(08.09.2011 в 16:10)
| | не работает (
Пробовал разные варианты с этим смыслом. | |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 17:52)
| | Новые мысли, но что то опять не так.. не работает.
function sendReq (val)
{
for (var i = 0; i < val.length; i++) {
if (val[i] == val) {
document.getElementById("scnd"+val).style.display = "inline";
} else {
document.getElementById("scnd"+val).style.display = "none";
}
}
}
<select name="razdel[]" id="fm" multiple onchange="sendReq (this)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
...
</select>
<div id="scnd1" style="display: none;">Яблоки</div>
<div id="scnd2" style="display: none;">Грецкий</div>
<div id="scnd3" style="display: none;">Помидоры</div>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 21:06)
| | Вроде как так.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript">
function sendReq (obj)
{
for (var i = 0; i < obj.length; i++) {
if (obj[i].selected) {
document.getElementById("scnd"+(i+1)).style.display = "inline";
} else {
document.getElementById("scnd"+(i+1)).style.display = "none";
}
}
}
</script>
</head>
<body>
<select name="razdel[]" multiple onclick="sendReq(this)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
</select>
<div id="scnd1" style="display: none;">Фрукты</div>
<div id="scnd2" style="display: none;">Орехи</div>
<div id="scnd3" style="display: none;">Овощи</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Scrum
(08.09.2011 в 21:42)
| | Спасибо огромное!
А как поступить если value значения идут в разнобой? ;)
<select name="razdel[]" multiple onclick="sendReq(this)">
<option value="3">Фрукты</option>
<option value="7">Орехи</option>
<option value="9">Овощи</option>
</select>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 22:00)
| | Во, попрвил.
Спасибо!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript">
function sendReq (obj)
{
for (var i = 0; i < obj.length; i++) {
if (obj[i].selected) {
document.getElementById("scnd"+obj[i].value).style.display = "inline";
} else {
document.getElementById("scnd"+obj[i].value).style.display = "none";
}
}
}
</script>
</head>
<body>
<select name="razdel[]" multiple onclick="sendReq(this)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
</select>
<div id="scnd1" style="display: none;">Фрукты</div>
<div id="scnd2" style="display: none;">Орехи</div>
<div id="scnd3" style="display: none;">Овощи</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 22:05)
| | Не пойму еще одну вещь, почему если отсутствует например <div id="scnd2" style="display: none;">Орехи</div> , то если я в селекте выбираю после значения 2, то уже ничего не выводится | |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 22:34)
| |
document.getElementById("scnd"+obj[i].value).style.display = "inline";
|
грубо говоря ищет элемент с id равным scnd(значение option) т.е. <element id="scndЗначение option">
и соответственно если он отсутствует то что должно выводиться ? | |
|
|
|
|
|
|
|
для: Scrum
(08.09.2011 в 22:46)
| | То что не выводится это значение, это я понимаю, а почему не выводятся выбранные позиции после него? | |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 23:06)
| | Поподробнее.
Почему они должны выводиться ? | |
|
|
|
|
|
|
|
для: Scrum
(08.09.2011 в 23:34)
| | Ну вот я и не понимаю ) Вот мой последний пример. | |
|
|
|
|
|
|
|
для: gOFREe
(08.09.2011 в 22:00)
| |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript">
function sendReq (obj)
{
for (var i = 0; i < obj.length; i++) {
if (obj[i].selected) {
document.getElementById("scnd"+obj[i].value).style.display = "inline";
} else {
document.getElementById("scnd"+obj[i].value).style.display = "none";
}
}
}
</script>
</head>
<body>
<select name="razdel[]" multiple onclick="sendReq(this)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
<option value="7">Яблоки</option>
<option value="9">Соки</option>
</select>
<div id="scnd1" style="display: none;">Фрукты</div>
<div id="scnd2" style="display: none;">Орехи</div>
<div id="scnd3" style="display: none;">Овощи</div>
<div id="scnd7" style="display: none;">Яблоки</div>
<div id="scnd9" style="display: none;">Соки</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Scrum
(08.09.2011 в 22:39)
| |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript">
function sendReq (obj)
{
for (var i = 0; i < obj.length; i++) {
if (obj[i].selected) {
document.getElementById("scnd"+obj[i].value).style.display = "inline";
} else {
document.getElementById("scnd"+obj[i].value).style.display = "none";
}
}
}
</script>
</head>
<body>
<select name="razdel[]" multiple onclick="sendReq(this)">
<option value="1">Фрукты</option>
<option value="2">Орехи</option>
<option value="3">Овощи</option>
<option value="5">Хрен</option>
<option value="7">Яблоки</option>
<option value="9">Соки</option>
</select>
<div id="scnd1" style="display: none;">Фрукты</div>
<div id="scnd2" style="display: none;">Орехи</div>
<div id="scnd3" style="display: none;">Овощи</div>
<div id="scnd7" style="display: none;">Яблоки</div>
<div id="scnd9" style="display: none;">Соки</div>
</body>
</html>
|
| |
|
|
|