Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2014, 13:19
Новичок на форуме
Отправить личное сообщение для promo Посмотреть профиль Найти все сообщения от promo
 
Регистрация: 27.05.2014
Сообщений: 4

отключить элементы
Добрый день, столкнулся с такой проблеймой
вообще есть
val = выбранная опция из селекта

она включает выбранный элемент
if (val >= 0)
	{
		var service = document.getElementById('srv'+val);
		service.style.display = 'block';
	}

как сделать чтоб отключить все остальные то бишь
('srv'+val) это включаемый элемент val цыфры
если выбран элемент 1 то ему присваивается display = 'block';
а все что меньше 1 или больше присваивается display = 'none';

заранее спасибо!

весь код
function calc()
{
	var sel = document.getElementById("votr"); // Получаем наш список
	var val = sel.options[sel.selectedIndex].value; // Получаем значение выделенного элемента (в нашем случае fruit2).
	
	if (val >= 0)
	{
		var service = document.getElementById('srv'+val);
		service.style.display = 'block';
	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2014, 13:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

promo,
обходить все элементы и присваивать стиль -- совпадает индекс 'block' иначе 'none'
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2014, 13:31
Новичок на форуме
Отправить личное сообщение для promo Посмотреть профиль Найти все сообщения от promo
 
Регистрация: 27.05.2014
Сообщений: 4

А пример можно, как лучше!
Ответить с цитированием
  #4 (permalink)  
Старый 27.05.2014, 13:49
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

for (var i = 0, l = sel.options.length; i < l; i++) {
    var el = document.getElementById('src' + sel.options[i].value);
    if (i == sel.selectedIndex) {
         el.style.display = 'block';
    } else {
         el.style.display = 'none';
    }
}
Ответить с цитированием
  #5 (permalink)  
Старый 27.05.2014, 13:57
Новичок на форуме
Отправить личное сообщение для promo Посмотреть профиль Найти все сообщения от promo
 
Регистрация: 27.05.2014
Сообщений: 4

ошибка

строка el.style.display = 'none';

весь код сейчас
function calc()
{
	var sel = document.getElementById("votr"); // Получаем наш список
	var val = sel.options[sel.selectedIndex].value; // Получаем значение выделенного элемента (в нашем случае fruit2).
	var csrv1 = document.getElementById('srv'+val);
	var cost = csrv1.value;
	str_v=cost.replace(/[_#]+/,' ').replace(/  +/, ' ');
	var reg=/([0-9A-Za-z\s\w+]+),([0-9A-Za-z]+)/;
	var arr=reg.exec(str_v);
	
	var term = document.getElementById('term');
	var values = term.value;
	var days = 30;
	
	if (values == '1') { days = 0.70; };
	if (values == '2') { days = 1; };
	if (values == '3') { days = 2; };
	if (values == '4') { days = 3; };
	if (values == '5') { days = 6; };
	
	for (var i = 0, l = sel.options.length; i < l; i++) {
		var el = document.getElementById('srv'+sel.options[i].value);
		if (i == sel.selectedIndex)
		{
			el.style.display = 'block';
		}
		else
		{
			el.style.display = 'none';
		}
	}
	
	if (values == '1') { days = 0.70; };
	if (values == '2') { days = 1; };
	if (values == '3') { days = 2; };
	if (values == '4') { days = 3; };
	if (values == '5') { days = 6; };
	
	var costnew = days * arr[2];
	var cena = document.getElementById('cena');
	if(costnew > 0)
	{
	cena.innerHTML = costnew;
	}
	else
	{
	cena.innerHTML = "0";
	}
}

Последний раз редактировалось promo, 27.05.2014 в 14:00.
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2014, 14:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

promo,
добавьте проверку на существование элемента
el && (el.style.display = 'block');
el && (el.style.display = 'none');
Ответить с цитированием
  #7 (permalink)  
Старый 27.05.2014, 14:07
Новичок на форуме
Отправить личное сообщение для promo Посмотреть профиль Найти все сообщения от promo
 
Регистрация: 27.05.2014
Сообщений: 4

Сообщение от рони Посмотреть сообщение
promo,
добавьте проверку на существование элемента
el && (el.style.display = 'block');
el && (el.style.display = 'none');
Помогло огромное спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все элементы с определенным id izcian Общие вопросы Javascript 5 17.12.2013 04:57
select отключить встроенный поиск skynet-mfd jQuery 0 04.03.2013 11:26
Выбрать элементы, в которые вложен элемент с id. Вадимчег jQuery 3 24.11.2012 10:38
при изменении размера div элементы съезжают gallyamov jQuery 5 22.08.2012 10:24
JQuery плагин lightbox: На время отключить срабатывание senseysensor jQuery 2 23.12.2010 10:28