Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с функцией (https://javascript.ru/forum/dom-window/17358-pomogite-s-funkciejj.html)

mayba 16.05.2011 09:50

Помогите с функцией
 
Неправильно работает функция, почему то коректно обрабатывается только строчка document.getElementById('sub_313_show').id = 'sub_313_hide'; остальный не работают.

Суть функции: сменить id селекта.

function enableField() {
	document.step2.Root.disabled=false;
	
	if (document.getElementById('root').disabled == false) {
		document.getElementById('sub_313_show').id = 'sub_313_hide'; 
		document.getElementById('sub_321_show').id = 'sub_321_hide';
		document.getElementById('sub_324_show').id = 'sub_324_hide';
		document.getElementById('sub_325_show').id = 'sub_325_hide';
		document.getElementById('sub_326_show').id = 'sub_326_hide';
		document.getElementById('sub_332_show').id = 'sub_332_hide';
		document.getElementById('sub_334_show').id = 'sub_334_hide';
		document.getElementById('sub_341_show').id = 'sub_341_hide';
		document.getElementById('sub_342_show').id = 'sub_342_hide';
		document.getElementById('sub_343_show').id = 'sub_343_hide';
		document.getElementById('sub_344_show').id = 'sub_344_hide';
		document.getElementById('sub_345_show').id = 'sub_345_hide';
		document.getElementById('sub_351_show').id = 'sub_351_hide';
		document.getElementById('sub_352_show').id = 'sub_352_hide';
		
	}


Так выгледят селекты:

<select name="sub_313" id="sub_313_hide">
        <option value="3131">3.1.3.1, Курьерские, почтово-телеграфные расходы</option>
        <option value="31321">3.1.3.2.1, Канцтовары</option>
        <option value="31322">3.1.3.2.2, Сувениры и товары с логотипом</option>
        <option value="31323">3.1.3.2.3, Хозяйственные расходы (в т.ч. моющие ср-ва)</option>
        <option value="31324">3.1.3.2.4, Расходы на топливо для собственного транспорта</option>
        <option value="31325">3.1.3.2.5, Запчасти для ремонта собственного транспорта и ОС</option>
      </select>

ksa 16.05.2011 10:06

mayba, зачем менять ИД у элементов?

mayba 16.05.2011 10:08

Скрыть все селекты.

ksa 16.05.2011 10:22

mayba, для этого есть прекрасное свойство className...

<style>
.off {
   display: none;
}
</style>

<select id='test'>
        <option value="3131">3.1.3.1, Курьерские, почтово-телеграфные расходы</option>
        <option value="31321">3.1.3.2.1, Канцтовары</option>
        <option value="31322">3.1.3.2.2, Сувениры и товары с логотипом</option>
        <option value="31323">3.1.3.2.3, Хозяйственные расходы (в т.ч. моющие ср-ва)</option>
        <option value="31324">3.1.3.2.4, Расходы на топливо для собственного транспорта</option>
        <option value="31325">3.1.3.2.5, Запчасти для ремонта собственного транспорта и ОС</option>
</select>
<input type='button' value='Go' onclick='document.getElementById("test").className="off"' />

mayba 16.05.2011 11:58

А если их несколько, как одновременно их скрыть?

walik 16.05.2011 12:03

Даете им всем одинаковый класс.

mayba 16.05.2011 12:23

Спасибо, вроде работает.

ksa 16.05.2011 14:26

Цитата:

Сообщение от mayba
А если их несколько, как одновременно их скрыть?

Цикл еще никто не отменял... :)
Помести все селекты в один ДИВ и работай с ними

var o=document.getElementById('id_div').getElementsByTagName('select')

Далее работа с циклом...


Часовой пояс GMT +3, время: 22:57.