Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 29.06.2012, 00:36
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

А вот и нет, в id="sel2" option value=\"$mass_subkategory[$i]\" здесь текст, типа Учреждение 1, Больница 2, Дом4 и тд., а не значения 0, 0, 1, 1, 2 и тд., все в них впирается. Нужно чтобы работало под текст.

Признатся, я благодарен вам за терпение bes, другой бы уже плюнул, спасибо Вам.
Ответить с цитированием
  #22 (permalink)  
Старый 29.06.2012, 01:00
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Ну если на jQuery - то как два пальца,
Skesh,
Выложите код HTML - cоздайте удобство зрителю,
Или закодируйте исходник на китайском чтобы с трёх языков переводить
Ответить с цитированием
  #23 (permalink)  
Старый 29.06.2012, 09:11
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

Вылажую весь код, только не менять значения name и value в select и option
<!doctype html>
<script>
window.onload = function () {//onload begin
  var sel1 = document.getElementById('sel1');
  var sel2 = document.getElementById('sel2');
  var sel3 = document.getElementById('sel3');
  var sel2copy = document.getElementById('sel2copy');

  var childs = sel2.options;
  var len = sel2.options.length;
  var index;

  var setPoints = function () {
    index = sel1.selectedIndex;
    sel2copy.innerHTML = '';
    for (var i = 0; i < len; i++) {
      if (parseInt(childs[i].value) == index) {
        sel2copy.appendChild(childs[i].cloneNode(true));
      }
    } 
  }

  setPoints();

  sel1.onchange = function () {
    setPoints();
    sel3.selectedIndex = sel1.selectedIndex; 
  }

}//onload end
</script>

<form id="form2" name="form2" method="post" action="action.php" enctype="multipart/form-data">
<p><?PHP echo $language[225];?> 
					<select name="kategory_nazva" id="sel1">
					<?PHP
					for ($i=0; $i<=count($mass_kategory)-1; $i++)
					{	echo "<option value=\"$mass_kategory[$i]\" ";
						if ($mass_kategory[$i]==$kategory)	{echo "selected";}
						echo ">$mass_kategory[$i]</option>";
					}
					?>
					</select>
					<select name="subkategory_nazva" id="sel2" style="display: none">";
					<?PHP
					for ($i=0; $i<=count($mass_subkategory)-1; $i++)
					{	echo "<option value=\"$mass_subkategory[$i]\" "; 
						if ($mass_subkategory[$i]==$subkategory)	{echo "selected";}
						echo ">$mass_subkategory[$i]</option>";
					}
					?>
					</select>
					
					<select name="subkategory_nazva" id="sel2copy">";
					
					</select>
					
					<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
					<?PHP echo $language[226];?> 
					<select name="new_kategory_nazva"  id="sel3">
					<?PHP
					for ($i=0; $i<=count($mass_kategory)-1; $i++)
					{	echo "<option value=\"$mass_kategory[$i]\" ";
						if ($mass_kategory[$i]==$kategory)	{echo "selected";}
						echo ">$mass_kategory[$i]</option>";
					}
					?>
					</select>
</form>
Ответить с цитированием
  #24 (permalink)  
Старый 29.06.2012, 10:10
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<select id="sel1">
  <option>Пункт 1</option>
  <option>Пункт 2</option>
  <option>Пункт 3</option>
  <option>Пункт 4</option>
</select>

<select id="sel2" style="display: none">
  <option value="Пункт 1">Пункт 101 </option>
  <option value="Пункт 1">Пункт 102</option>
  <option value="Пункт 1">Пункт 103 </option>
  <option value="Пункт 2">Пункт 201 </option>
  <option value="Пункт 2">Пункт 202 </option>
  <option value="Пункт 2">Пункт 203 </option>
  <option value="Пункт 3">Пункт 301 </option>
  <option value="Пункт 3">Пункт 302 </option>
  <option value="Пункт 3">Пункт 302 </option>
  <option value="Пункт 4">Пункт 401 </option>
  <option value="Пункт 4">Пункт 402 </option>
  <option value="Пункт 4">Пункт 403 </option>
</select>

<select id="sel2copy">
</select>

<select id="sel3">
  <option>Пункт 1</option>
  <option>Пункт 2</option>
  <option>Пункт 3</option>
  <option>Пункт 4</option>
</select>

<script>
window.onload = function () {//onload begin
  var sel1 = document.getElementById('sel1');
  var sel2 = document.getElementById('sel2');
  var sel3 = document.getElementById('sel3');
  var sel2copy = document.getElementById('sel2copy');

  var childs = sel2.options;
  var len = sel2.options.length;
  var text;

  var setPoints = function () {
    text = sel1.options[sel1.selectedIndex].text; 
    sel2copy.innerHTML = '';
    for (var i = 0; i < len; i++) {
      if (childs[i].value == text) {
        sel2copy.appendChild(childs[i].cloneNode(true));
      }
    } 
  }

  setPoints();

  sel1.onchange = function () {
    setPoints();
    sel3.selectedIndex = sel1.selectedIndex; 
  }

}//onload end
</script>
Ответить с цитированием
  #25 (permalink)  
Старый 29.06.2012, 11:59
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

Тогда в id="sel2" будет передаватся значение Пункт 1 а не Пункт 101 как то мне нада...
Ответить с цитированием
  #26 (permalink)  
Старый 29.06.2012, 12:26
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Skesh
Тогда в id="sel2" будет передаватся значение Пункт 1 а не Пункт 101 как то мне нада...
Напишите готовые селекты sel1 и sel2, я же не знаю, что у вас имеется в виду под $mass_kategory и $mass_subkategory, где равные значения в этих двух селектах (они и являются связующим звеном между ними)
Ответить с цитированием
  #27 (permalink)  
Старый 30.06.2012, 10:33
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

<form action="analysis.php" method="post" name="frt" id="frt" enctype="multipart/form-data">
<select name="kategory" id="sel1">
<option value="Всі категорії" selected>Всі категорії</option>
<option value="Управління освіти - школи">Управління освіти - школи</option>
<option value="Управління освіти - садочки">Управління освіти - садочки</option>
<option value="Управління охорони здор.">Управління охорони здор.</option>
<option value="Управління культури і туризму">Управління культури і туризму</option>
<option value="Управління молоді та спорту">Управління молоді та спорту</option>
<option value="Інші структурні підрозділи МВК">Інші структурні підрозділи МВК</option>
<option value="Управління праці та соцзахисту">Управління праці та соцзахисту</option>
<option value="ТЕСТ">ТЕСТ</option>
</select>

<select name="subkategory" id="sel2" style="display: none">
<option class="Управління освіти - школи" value="НВО-1">НВО-1</option>
<option class="Управління освіти - школи" value="НВО-28">НВО-28</option>
<option class="Управління освіти - школи" value="НВО-5">НВО-5</option>
<option class="Управління освіти - школи" value="НВО-9">НВО-9</option>
<option class="Управління освіти - школи" value="Палац творчості">Палац творчості</option>
<option class="Управління охорони здор." value="Перинатальний центр">Перинатальний центр</option>
<option class="Управління охорони здор." value="Поліклініка №1">Поліклініка №1</option>
<option class="Управління охорони здор." value="Поліклініка №2">Поліклініка №2</option>
<option class="Управління охорони здор." value="Поліклініка №3">Поліклініка №3</option>
<option class="Управління охорони здор." value="Поліклініка №4">Поліклініка №4</option>
<option class="Управління праці та соцзахисту" value="Промінь надії">Промінь надії</option>
<option class="Управління праці та соцзахисту" value="Родинний Затишок">Родинний Затишок</option>
<option class="Управління охорони здор." value="Станція швидкої допомоги">Станція швидкої допомоги</option>
<option class="Управління охорони здор." value="Стоматполіклініка">Стоматполіклініка</option>
<option class="Управління освіти - школи" value="ТБЛ">ТБЛ</option>
<option class="ТЕСТ" value="тест">тест</option>
<option class="Інші структурні підрозділи МВК" value="УЖКГ">УЖКГ</option>
<option class="Інші структурні підрозділи МВК" value="Управління з питань екології">Управління з питань екології</option>
<option class="Інші структурні підрозділи МВК" value="Управління молоді та спорту">Управління молоді та спорту</option>
<option class="Управління охорони здор." value="Управління охорони здор.">Управління охорони здор.</option>
<option class="Управління праці та соцзахисту" value="Управління праці та соцзахисту">Управління праці та соцзахисту</option>
<option class="Інші структурні підрозділи МВК" value="Управління торгівлі">Управління торгівлі</option>
<option class="Інші структурні підрозділи МВК" value="Управління транспорту">Управління транспорту</option>
</select>

<select id="sel2copy">
</select>

<select name="kategory2" id="sel3">
<option value="Всі категорії" selected>Всі категорії</option>
<option value="Управління освіти - школи">Управління освіти - школи</option>
<option value="Управління освіти - садочки">Управління освіти - садочки</option>
<option value="Управління охорони здор.">Управління охорони здор.</option>
<option value="Управління культури і туризму">Управління культури і туризму</option>
<option value="Управління молоді та спорту">Управління молоді та спорту</option>
<option value="Інші структурні підрозділи МВК">Інші структурні підрозділи МВК</option>
<option value="Управління праці та соцзахисту">Управління праці та соцзахисту</option>
<option value="ТЕСТ">ТЕСТ</option>
</select>
</form>

<script>
window.onload = function () {//onload begin
  var sel1 = document.getElementById('sel1');
  var sel2 = document.getElementById('sel2');
  var sel3 = document.getElementById('sel3');
  var sel2copy = document.getElementById('sel2copy');

  var childs = sel2.options;
  var len = sel2.options.length;
  var text;

  var setPoints = function () {
    text = sel1.options[sel1.selectedIndex].value; 
    sel2copy.innerHTML = '';
    for (var i = 0; i < len; i++) {
      if (childs[i].className == text) {
        sel2copy.appendChild(childs[i].cloneNode(true));
      }
    } 
  }

  setPoints();

  sel1.onchange = function () {
    setPoints();
    sel3.selectedIndex = sel1.selectedIndex; 
  }

}//onload end
</script>


Видите, у меня все работало по класу, тоесть если class sel2 = value sel1 в sel2 показывает только ети значение, а мне еще нужно добавить чтобы в sel3 показывало такоеже значение как в sel1. А как вы делаете что можно запустить скрипт? ну типа нажать кнопку "Посмотреть!"?

Последний раз редактировалось Skesh, 02.07.2012 в 17:46.
Ответить с цитированием
  #28 (permalink)  
Старый 30.06.2012, 10:47
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Замените в if (childs[i].value == text); value на className.
Если хотите, можете в sel1.options[sel1.selectedIndex].text; заменить
text на value (они у вас равны).

Сообщение от Skesh
А как вы делаете что можно запустить скрипт? ну типа нажать кнопку "Посмотреть!"?
[html run]
Ответить с цитированием
  #29 (permalink)  
Старый 02.07.2012, 17:48
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

Вроде работает =) скажите пожалуйсто а в sel2copy будет передаватся value sel2?
Ответить с цитированием
  #30 (permalink)  
Старый 02.07.2012, 17:54
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

Будет =) просто в <select id="sel2copy"> нужно дабавить тот же name что и в sel2. СПАСИБО ВАМ БОЛЬШОЕ!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при выборе в 1-ом select соот.-щая инф. отображается в другом select celencer Общие вопросы Javascript 1 24.05.2009 20:38