Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » Java/Java Scripts » Динамическое изменение элементов в списке Select
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
Question Динамическое изменение элементов в списке Select [сообщение #72488]

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

code:

var aHouseValues = new Array(
"12/15,18,123",
"2,4",
"2/8,10/12",
"3",
"2,4,12,5/6,8"
);


брался из массива вида
3
Key: 0; Value: Array
1 Бухгалтер
6
Key: 0; Value: Array
2 Менеджер
Key: 1; Value: Array
11 Клерк
5
Key: 0; Value: Array
4 Строитель
Key: 1; Value: Array
6 Садовник
Key: 2; Value: Array
8 Водитель
Key: 3; Value: Array
14 Архитектор

Т.е. туда подставлялись не только "значения" но и ключи индексов. Т.е. есть 2 таблицы разделы и должности
разделы:
раздел_id имя_раздела

Должности:
должность_id раздел_id название_должности


и при выборе раздела в одном селекте, во 2ой подставлялись должности (С их реальными ID!)

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-11-2004 08:28
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #72506]

Посмотри вариант, я его всегда использую, может то что надо.

Файл: select_change.txt
Был скачан 18 раз(а).

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-11-2004 21:50
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72507]

Пасиба! то что надо! Только у меня теперь такая проблема появилась: при редактировании данного раздела необходимо, что бы автоматически были выбраны раздел и должность. Т.е. необходимо выставить selected-ы... Мне известны ID раздела и должности.

Если сделать так:
document.forms["edit_vakansiu"].elements["razdel_id"].selectedIndex = 6;
то выберается раздел по индексу а не по ID, т.е. просто по порядку.


code:

<option value="1">Ð_кономическое</option>
<option value="22">Техническое</option>
<option value="31">Гуманитарное</option>
<option value="42">Другое</option>
<option value="53">Неполное высшее</option>
<option value="66">Среднее специальное</option>
<option value="7">Среднее</option>
<option value="81">Учащийся</option>


Известен ID 66 индекс которого 5... Но откуда мне узнать индекс по ID?

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-11-2004 22:10
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #72801]

Как вариант: добавить id в index, получится 566, а потом разабрать, на 5 и 66.

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-11-2004 10:40
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72833]

blacki не понял?.. index же просто типа "порядковый номер"... Подскажите плз! (или это нереально? Или нужно будет перебирать весть селект и отлавливать нужный id?)

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 28-11-2004 07:57
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72904]

Господа! Ну хоть скажите это реально???

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 30-11-2004 16:09
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #72921]

У селекта есть свойство value.

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-12-2004 03:04
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72924]

RaZEr я знаю, но по нему он .selectedIndex = 6; не сделает!..
Повторюсь! Мне нужно зная value выбрать элемент! Выше вполне подробно описано...

he][es добавил 01-12-2004 в 08:23:05:
Кажется придумал: когда я создаю элемент
var newOpt = new Option("text", "value", isDefaultSelectedFlag, isSelectedFlag);
Есть свойства isDefaultSelectedFlag, isSelectedFlag как я понял это как раз то что мне надо! (Только обясните мне плз что есть что... какое из них за что отвечает?)

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-12-2004 06:27
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72939]

Вроде как всё сделал, но теперь вылез глюк. код такой:

code:

<form action="manager.php?edit=ok" ENCTYPE="multipart/form-data" method="post" name="edit_vakansiu">
        <table align="center" border="0" cellspacing="0" cellpadding="0">
	  <tr><td colspan="2"><h4 style="margin-top: 10px;">Ð_аздел:</h4></td></tr>
	  <tr><td width="180">Выберите должность</td><td><select name="dolgnost_id" class="pr"><option value="0" selected>Выдерите раздел</option><option value="n">Другое</option></select></td></tr>
	  <tr><td width="180">Выберите раздел</td><td><select name="razdel_id" class="pr" onChange="MkDolgnostListValues(this.value)">
<option value="0">Выберите раздел</option><option value="1">Ð_уководители</option>

<option value="2">Финансы</option>
<option value="3">Бухгалтерия</option>
<option value="4">Маркетинг</option>
<option value="5">Производство</option>
<option value="6">Менеджмент</option>
<option value="7">Ценные бумаги</option>
<option value="8">ИТ</option>
<option value="99" selected>Ð_азное</option>
<option value="107">Ð_еклама, Маркетинг, PR</option>

<option value="9">Пищевая</option>
<option value="n">Другое</option></select></td></tr>

	</table>
	<div align="center" style="padding-top:20px;"><input name="submit" type="image" lang="ru" value="submit" src="/images/edit_button.gif" alt="Изменить"></div>
	</form>


<script type="text/javascript" LANGUAGE="JavaScript1.2">
<!--
var dolgnostiValues = new Array();
dolgnostiValues[0] = new Array("Выберите раздел");
dolgnostiValues[3] = new Array()
dolgnostiValues[3][1] = "Бухгалтер";
dolgnostiValues[6] = new Array()
dolgnostiValues[6][2] = "Менеджер";
dolgnostiValues[6][11] = "Клерк";
dolgnostiValues[8] = new Array()
dolgnostiValues[8][3] = "Программист";
dolgnostiValues[8][9] = "Web-программист";
dolgnostiValues[8][10] = "Системный администратор";
dolgnostiValues[8][12] = "HTML-кодер";
dolgnostiValues[8][13] = "Дизайнер";
dolgnostiValues[8][18] = "Ð_уководитель отдела ИТ";
dolgnostiValues[8][19] = "Ð_уководитель отдела ИТ22";
dolgnostiValues[8][29] = "Верстальщик";
dolgnostiValues[8][28] = "Начальник отдела ИТ";
dolgnostiValues[5] = new Array()
dolgnostiValues[5][4] = "Строитель";
dolgnostiValues[5][6] = "Садовник";
dolgnostiValues[5][8] = "Водитель";
dolgnostiValues[5][14] = "Архитектор";
dolgnostiValues[99] = new Array()
dolgnostiValues[99][5] = "Учитель";
dolgnostiValues[99][7] = "Художник";
dolgnostiValues[99][16] = "Секретарь, офис-менеджер";
dolgnostiValues[99][17] = "Оператор ПК";
dolgnostiValues[9] = new Array()
dolgnostiValues[9][15] = "Директор";
dolgnostiValues[107] = new Array()
dolgnostiValues[107][20] = "Заместитель директора по маркетингу";


function MkDolgnostListValues(index){

    var oDolgnostListList = document.forms["edit_vakansiu"].elements["dolgnost_id"];
    var oDolgnostListListOptionsCnt = oDolgnostListList.options.length;
    oDolgnostListList.length = 0;

counter = new Array();
var counters=1;

if(dolgnostiValues[index]){
    if(index!=0) {
    if (document.createElement){
           var newDolgnostListListOption = document.createElement("OPTION");
            newDolgnostListListOption.text = 'Выберите должность';
            newDolgnostListListOption.value = 0;
	    newDolgnostListListOption.selected = true;
            (oDolgnostListList.options.add) ? oDolgnostListList.options.add(newDolgnostListListOption) : oDolgnostListList.add(newDolgnostListListOption, null);
    }else{
            oDolgnostListList.options[i] = new Option(i, dolgnostiValues[i], true, true);
    }
    }
	for (y=0; y < dolgnostiValues[index].length; y++) {
		if(dolgnostiValues[index][y]){
		        if (document.createElement){
		            var newDolgnostListListOption = document.createElement("OPTION");
		            newDolgnostListListOption.text = dolgnostiValues[index][y];
		            newDolgnostListListOption.value = y;
			    if((index == 99) && (y == 7)) {
				newDolgnostListListOption.selected = true;
				//alert(newDolgnostListListOption.text + '-t ' + newDolgnostListListOption.value +'-v ri-'+ index +'99' + y +'-y 7');
				//alert(newDolgnostListListOption.text+ ' ' +newDolgnostListListOption.selected);
			    }

		            (oDolgnostListList.options.add) ? oDolgnostListList.options.add(newDolgnostListListOption) : oDolgnostListList.add(newDolgnostListListOption, null);
		        }else{
			    if(index == 99 && y == 7) {
		        	oDolgnostListList.options[i] = new Option(i, dolgnostiValues[i], true, true);
			    } else {
		        	oDolgnostListList.options[i] = new Option(i, dolgnostiValues[i], false, false);
			    }
		        }
		}
	}
    if(index!=0) {
    if (document.createElement){
           var newDolgnostListListOption = document.createElement("OPTION");
            newDolgnostListListOption.text = 'Другое...';
            newDolgnostListListOption.value = 'n';
            (oDolgnostListList.options.add) ? oDolgnostListList.options.add(newDolgnostListListOption) : oDolgnostListList.add(newDolgnostListListOption, null);
    }else{
            oDolgnostListList.options[i] = new Option(i, dolgnostiValues[i], false, false);
    }
    }
} else {
	if (document.createElement){
		var newDolgnostListListOption = document.createElement("OPTION");
		newDolgnostListListOption.text = 'Для данного раздела нет должностей';
		newDolgnostListListOption.value = 'n';
		newDolgnostListListOption.selected = true;
		(oDolgnostListList.options.add) ? oDolgnostListList.options.add(newDolgnostListListOption) : oDolgnostListList.add(newDolgnostListListOption, null);
        }else{
            oDolgnostListList.options[i] = new Option(i, dolgnostiValues[i], true, true);
        }
}

}

//alert(document.forms["edit_vakansiu"].elements["dolgnost_id"].text+ ' ' +document.forms["edit_vakansiu"].elements["dolgnost_id"].selectedIndex);
MkDolgnostListValues(document.forms["edit_vakansiu"].elements["razdel_id"].value=99);

//-->
</script>


(99 и 7 вставляются из php)
См. в дураццком IE о он сглючивает и выдает не ту проф. раскомментируем alert и всё работает прекрасно.... как alert влияет на код непонятно...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-12-2004 13:34
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #72946]

quote:
Повторюсь! Мне нужно зная value выбрать элемент!
Если руки из того места, то работает mySelectElement.value = "value of needed option";

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-12-2004 16:42
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72951]

Если честно то я не догоняю немного...
Но с этим я справился. Можно по поводу глюка вышеописанного что нить сделать?

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-12-2004 22:08
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #72952]

Если дело действительно в alert'е, то вызови последнюю ф-ию через setTimeout(). В IE бывают глюки, когда он не доделав что-то одно начинает делать другое и получаются конфликты.

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 01-12-2004 22:16
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #72967]

RaZEr пасиба большое, попробую...

__________________
Админ - вождь Апачей...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 02-12-2004 07:15
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 13:37.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.01428008 seconds (61.09% PHP - 38.91% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.