![]() |
Показаны 13 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Java/Java Scripts (http://netadmin.ws/forum/forumdisplay.php?forumid=9)
-- Динамическое изменение элементов в списке Select (http://netadmin.ws/forum/showthread.php?threadid=9865)
Динамическое изменение элементов в списке Select
Господа, помогите плз доработать скриптик, есть:
такой скрипт, мне нужно сделать так, что б в этом массиве:
var aHouseValues = new Array(
"12/15,18,123",
"2,4",
"2/8,10/12",
"3",
"2,4,12,5/6,8"
);
__________________
Админ - вождь Апачей...
Посмотри вариант, я его всегда использую, может то что надо.
__________________
Всегда есть решение.
Пасиба! то что надо! Только у меня теперь такая проблема появилась: при редактировании данного раздела необходимо, что бы автоматически были выбраны раздел и должность. Т.е. необходимо выставить selected-ы... Мне известны ID раздела и должности.
Если сделать так:
document.forms["edit_vakansiu"].elements["razdel_id"].selectedIndex = 6;
то выберается раздел по индексу а не по ID, т.е. просто по порядку.
<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 в index, получится 566, а потом разабрать, на 5 и 66.
__________________
Национальность - русский, вероисповедание - программист.
blacki не понял?.. index же просто типа "порядковый номер"... Подскажите плз! (или это нереально? Или нужно будет перебирать весть селект и отлавливать нужный id?)
__________________
Админ - вождь Апачей...
Господа! Ну хоть скажите это реально???
__________________
Админ - вождь Апачей...
У селекта есть свойство value.
__________________
The time was broken ...
RaZEr
я знаю, но по нему он .selectedIndex = 6; не сделает!..
Повторюсь! Мне нужно зная value выбрать элемент! Выше вполне подробно описано...
he][es добавил 01-12-2004 в 08:23:05:
Кажется придумал: когда я создаю элемент
var newOpt = new Option("text", "value", isDefaultSelectedFlag, isSelectedFlag);
Есть свойства isDefaultSelectedFlag, isSelectedFlag как я понял это как раз то что мне надо! (Только обясните мне плз что есть что... какое из них за что отвечает?)
__________________
Админ - вождь Апачей...
Вроде как всё сделал, но теперь вылез глюк. код такой:
<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>
__________________
Админ - вождь Апачей...
quote:Если руки из того места, то работает mySelectElement.value = "value of needed option";
Повторюсь! Мне нужно зная value выбрать элемент!
__________________
The time was broken ...
Если честно то я не догоняю немного...
Но с этим я справился. Можно по поводу глюка вышеописанного что нить сделать?
__________________
Админ - вождь Апачей...
Если дело действительно в alert'е, то вызови последнюю ф-ию через setTimeout(). В IE бывают глюки, когда он не доделав что-то одно начинает делать другое и получаются конфликты.
__________________
The time was broken ...
RaZEr пасиба большое, попробую...
__________________
Админ - вождь Апачей...
| Формат времени GMT. Текущее время 13:37. | Показаны 13 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.