Перейти к содержимому


Показ/скрытие полей через JavaScript


Сообщений в теме: 319

#241 z0ddak

    Участник

  • Пользователи
  • PipPip
  • 23 сообщений
  • Пол:Мужчина
  • Город:Барнаул
  • Интересы:разработка

Отправлено 27 Ноябрь 2015 - 19:20

Сделал следующим образом по примеру выше:

этот код вставил в поле-список, которое задает отображение всех скрытых...

$(document).ready(function(){
  onchange_{$one_field.id};
  $('#value{$one_field.id}').change(function(){ onchange_{$one_field.id}(); });
});
function onchange_{$one_field.id}()
{
  var val4560 = document.getElementById('value4560').value;
  switch( val4560 )
  {
		 case '':
		 default:
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Косметология':
		 {
				display_field(4620, 1);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Дистрибьюторы':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Субдистрибьюторы':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 1);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Школы':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Магазины':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 1);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Не наши клиенты':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 1);
				display_field(4730, 0);
				break;
		 }
		 case 'Частные косметологи':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 1);
				break;
		 }
  }
}

таким кодом скрыл поля через их значения, до изменения значения поля-списка:

display_field({$one_field.id}, document.getElementById('valueID').value=="значения");

Поле-список, при выборе значения, открывает то одно то другое скрытое поле. Так же, в режиме добавления записи поля скрыты. И все бы ничего, НО:
при просмотре и редактировании записи почему то выходит последнее поле: 'Частные косметологи', даже если было сохранено значение в какое то другое

нужна помощь сообщества).. необходимо сделать следующее: сравнивать javascript-ом текущее значение поля-списка и разрешать отображение только скрытого поля с таким же названием. А то все поля с внесенными значениями стали отображаться в режиме просмотра и редактирования записи

Сообщение отредактировал z0ddak: 27 Ноябрь 2015 - 19:39


#242 z0ddak

    Участник

  • Пользователи
  • PipPip
  • 23 сообщений
  • Пол:Мужчина
  • Город:Барнаул
  • Интересы:разработка

Отправлено 28 Ноябрь 2015 - 08:26

Добрый день, как мгновенно (наверное еще до загрузки страницы) проверить текущее значение поля-списка и по этому событию отобразить (либо скрыть) зависимое поле-список? И вообще отображать только одно зависимое поле по результату выбранного значения в первом поле-список. Если можно, пример кода, буду очень признателен)

Сообщение отредактировал z0ddak: 28 Ноябрь 2015 - 09:03


#243 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 313 сообщений
  • Пол:Мужчина

Отправлено 28 Ноябрь 2015 - 10:42

Просмотр сообщенияz0ddak (27 Ноябрь 2015 - 19:20) писал:

Сделал следующим образом по примеру выше: этот код вставил в поле-список, которое задает отображение всех скрытых...
Поле-список, при выборе значения, открывает то одно то другое скрытое поле. Так же, в режиме добавления записи поля скрыты. И все бы ничего, НО: при просмотре и редактировании записи почему то выходит последнее поле: 'Частные косметологи', даже если было сохранено значение в какое то другое нужна помощь сообщества).. необходимо сделать следующее: сравнивать javascript-ом текущее значение поля-списка и разрешать отображение только скрытого поля с таким же названием. А то все поля с внесенными значениями стали отображаться в режиме просмотра и редактирования записи
У Вас не корректно описан оператор SWITCH.
"default" не должен сравниваться со значениями "val4560". Это значение по умолчанию. Попробуйте так

function onchange_{$one_field.id}()
{
  var val4560 = document.getElementById('value4560').value;
  switch( val4560 )
  {
				 case 'Косметология':
				 {
								display_field(4620, 1);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 0);
								display_field(4730, 0);
								break;
				 }
				 case 'Дистрибьюторы':
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 0);
								display_field(4730, 0);
								break;
				 }
				 case 'Субдистрибьюторы':
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 1);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 0);
								display_field(4730, 0);
								break;
				 }
				 case 'Школы':
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 0);
								display_field(4730, 0);
								break;
				 }
				 case 'Магазины':
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 1);
								display_field(4720, 0);
								display_field(4730, 0);
								break;
				 }
				 case 'Не наши клиенты':
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 1);
								display_field(4730, 0);
								break;
				 }
				 case 'Частные косметологи':
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 0);
								display_field(4730, 1);
								break;
				 }
				  default:
				 {
								display_field(4620, 0);
								display_field(4680, 0);
								display_field(4690, 0);
								display_field(4700, 0);
								display_field(4710, 0);
								display_field(4720, 0);
								display_field(4730, 0);
								break;
				 }
  }
}
См. https://learn.javascript.ru/switch

Сообщение отредактировал maksn: 28 Ноябрь 2015 - 10:51

"...Сижу, паяю. CRM починяю..."
Мои разработки

#244 z0ddak

    Участник

  • Пользователи
  • PipPip
  • 23 сообщений
  • Пол:Мужчина
  • Город:Барнаул
  • Интересы:разработка

Отправлено 28 Ноябрь 2015 - 11:14

Сделал так, по условию:

показать если (( выбрано значение 1 у поля 1 и выбрано значение 1 у поля 2) или ( выбрано значение 1 у поля 1 и выбрано значение 2 у поля 2)) во всех остальных скрыть

но все равно все поля второстепенные заполненные показываются:

$(document).ready( function()){ // код внутри сработает только при полной загрузке структуры страницы
  if ((document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клиника') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Дистрибьютер') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'SPA, Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Медицинский центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клуб') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Массажный салон') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Институт красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Welness центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Fitness') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Санаторий') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Центр лазерной косметологии')) {
			 display_field(4620, 1);
	    } else {
			 display_field(4620, 0);
	    }
});
function onchange_{$one_field.id}())
{ // Функция по событию "изменение поля"
  if ((document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клиника') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Дистрибьютер') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'SPA, Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Медицинский центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клуб') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Массажный салон') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Институт красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Welness центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Fitness') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Санаторий') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Центр лазерной косметологии')) {
			 display_field(4620, 1);
	    } else {
			 display_field(4620, 0);
	    }
}
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});


помогите найти правильное решение

#245 z0ddak

    Участник

  • Пользователи
  • PipPip
  • 23 сообщений
  • Пол:Мужчина
  • Город:Барнаул
  • Интересы:разработка

Отправлено 28 Ноябрь 2015 - 11:53

maksn, спасибо Вам, я исправил код по Вашему замечанию - но теперь появляются все заполненные поля-списки (см. скриншот),


					
					<br />
					<p class= Сообщение отредактировал z0ddak: 28 Ноябрь 2015 - 11:54


#246 z0ddak

    Участник

  • Пользователи
  • PipPip
  • 23 сообщений
  • Пол:Мужчина
  • Город:Барнаул
  • Интересы:разработка

Отправлено 28 Ноябрь 2015 - 12:08

Была допущена ошибка, поэтому код не отрабатывал правильно! Исправил - может кому пригодится:

этот код в определяющее поле-список...
function onchange_{$one_field.id}()
{
  var val4560 = document.getElementById('value4560').value;
  switch( val4560 )
  {
		 case 'Косметология':
		 {
				display_field(4620, 1);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Дистрибьюторы':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Субдистрибьюторы':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 1);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Школы':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Магазины':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 1);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
		 case 'Не наши клиенты':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 1);
				display_field(4730, 0);
				break;
		 }
		 case 'Частные косметологи':
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 1);
				break;
		 }
		 default:
		 {
				display_field(4620, 0);
				display_field(4680, 0);
				display_field(4690, 0);
				display_field(4700, 0);
				display_field(4710, 0);
				display_field(4720, 0);
				display_field(4730, 0);
				break;
		 }
  }
}
$(document).ready(function(){
  onchange_{$one_field.id};
  $('#value{$one_field.id}').change(function(){ onchange_{$one_field.id}(); });
});

а этот код и по его аналогии - в определяемые поля-списки...

$(document).ready( function(){ // код внутри сработает только при полной загрузке структуры страницы
  if ((document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клиника') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Дистрибьютер') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'SPA, Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Медицинский центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клуб') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Массажный салон') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Институт красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Welness центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Fitness') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Санаторий') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Центр лазерной косметологии')) {
			 display_field(4620, 1);
	    } else {
			 display_field(4620, 0);
	    }
});
function onchange_{$one_field.id}()
{ // Функция по событию "изменение поля"
  if ((document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клиника') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Дистрибьютер') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'SPA, Салон красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Медицинский центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Клуб') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Массажный салон') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Институт красоты') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Welness центр') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Fitness') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Санаторий') || (document.getElementById('value4560').value == 'Косметология' && document.getElementById('value4620').value == 'Центр лазерной косметологии')) {
			 display_field(4620, 1);
	    } else {
			 display_field(4620, 0);
	    }
}
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});

Особое спасибо Dinak и maksn - направили)!

Сообщение отредактировал z0ddak: 28 Ноябрь 2015 - 12:16


#247 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 151 сообщений
  • Пол:Мужчина

Отправлено 27 Январь 2016 - 11:48

Здравствуйте,

Можете ли подсказать данный код правильный или где то допущена ошибка, так как не отрабатывает?
Поле 6160 - поле связи.

$(document).ready(function(){
  onchange_{$one_field.id};
  $('#value{$one_field.id}').change(function(){ on_change{$one_field.id}(); });
});
function onchange_{$one_field.id}()
{
  var val6160 = document.getElementById('value6160').value;
  switch( val6160 )
  {
								 case 'A':
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
								 case 'B':
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
								 case 'C':
								 {
															    display_field(6170, 1);
															    display_field(6180, 1);
															    break;
								 }
							   
								 default:
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
  }
}

Сообщение отредактировал GoGPS: 27 Январь 2016 - 11:53


#248 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 12:09

$('#value{$one_field.id}').change(function(){ on_change{$one_field.id}(); });

замените на

$('#value{$one_field.id}').change(on_change{$one_field.id});

Не факт что поможет, но так явно правильнее. По остальному коду затрудняюсь сказать что именно может быть неправильным, т.к. не так хорошо разбираюсь в JS.

#249 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 151 сообщений
  • Пол:Мужчина

Отправлено 27 Январь 2016 - 12:26

Не помогло :(

#250 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 12:33

Не обратил сразу внимание на

Цитата

Поле 6160 - поле связи

В таком случае разумеется не будет работать, т.к. в полях связи хранятся числовые id, а не "А", "В" и т.д.

#251 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 151 сообщений
  • Пол:Мужчина

Отправлено 27 Январь 2016 - 12:45

Делал по аналогии из поста 186-189

Но дело в том что по дефаулт
default:
				 {
						  display_field(6170, 0);
						  display_field(6180, 0);
						   break;
				 }

А эти поля постоянно видны. И после загрузки страницы, и после редактирования и сохранения.

Как записать правильно если A - id1, B - id2, C - id3?

Сообщение отредактировал GoGPS: 27 Январь 2016 - 12:45


#252 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 13:14

Так и пишете: case '3'

#253 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 151 сообщений
  • Пол:Мужчина

Отправлено 27 Январь 2016 - 13:25

Делал и так тоже - не работает

И по дефолту после загрузки страницы - поля видны.

$(document).ready(function(){
  onchange_{$one_field.id};
  $('#value{$one_field.id}').change(on_change{$one_field.id});
});
function onchange_{$one_field.id}()
{
  var val6160 = document.getElementById('value6160').value;
  switch( val6160 )
  {
								 case '1':
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
								 case '2':
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
								 case '3':
								 {
															    display_field(6170, 1);
															    display_field(6180, 1);
															    break;
								 }
								 case '':
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
								 default:
								 {
															    display_field(6170, 0);
															    display_field(6180, 0);
															    break;
								 }
  }
}


#254 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 13:51

А пробовали просто alert для проверки засунуть в тело функции? Тут нет никаких вариантов, кроме как пошагово заниматься отладкой.

Я вот например не пользовался почти оператором switch и предпочел бы "старый добрый" проверенный if.

#255 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 151 сообщений
  • Пол:Мужчина

Отправлено 27 Январь 2016 - 13:59

Просмотр сообщенияCbCoder (27 Январь 2016 - 13:51) писал:

А пробовали просто alert для проверки засунуть в тело функции? Тут нет никаких вариантов, кроме как пошагово заниматься отладкой.

Пробовал - работает

#256 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 156 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 27 Январь 2016 - 14:47

function onchange_{$one_field.id}()
{
	var val6160 = $('#value6160').val();
	switch( val6160 )
	{
		case '1':
			display_field(6170, 0);
			display_field(6180, 0);
			break;
		case '2':
			display_field(6170, 0);
			display_field(6180, 0);
			break;
		case '3':
			display_field(6170, 1);
			display_field(6180, 1);
			break;
		case '':
			display_field(6170, 0);
			display_field(6180, 0);
			break;
		default:
			display_field(6170, 0);
			display_field(6180, 0);
			break;
	}
}
$(function() {
	onchange_{$one_field.id}();
	$('#value{$one_field.id}').change(function() {
		onchange_{$one_field.id}();
	});
});

Просмотр сообщенияCbCoder (27 Январь 2016 - 13:51) писал:

Я вот например не пользовался почти оператором switch и предпочел бы "старый добрый" проверенный if.
Свич весьма удобен и лаконичен в некоторых случаях, писать елсеиф или каждый раз иф имхо не очень читабельно. Хотя это конечно дело вкуса.

Сообщение отредактировал wondertalik: 27 Январь 2016 - 14:52


#257 GoGPS

    Активный участник

  • Пользователи
  • PipPipPip
  • 151 сообщений
  • Пол:Мужчина

Отправлено 27 Январь 2016 - 14:51

wondertalik, спасибо большое. Все работает!

#258 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Январь 2016 - 14:56

Из существенного я заметил только исправление 2-х опечаток. Вместо, в оригинале:

$(document).ready(function(){
  onchange_{$one_field.id};
  $('#value{$one_field.id}').change(on_change{$one_field.id});
});

Должно быть:

$(document).ready(function(){
  onchange_{$one_field.id}();
  $('#value{$one_field.id}').change(onchange{$one_field.id});
});

Остальное по идее не должно влиять.

#259 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 156 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 27 Январь 2016 - 15:50

Просмотр сообщенияCbCoder (27 Январь 2016 - 14:56) писал:

Из существенного я заметил только исправление 2-х опечаток. Вместо, в оригинале:
Остальное по идее не должно влиять.
Все верно.
var val6160 = document.getElementById('value6160').value;
Согласитесь, использовать jquery и такие конструкции, ну как-то не очень! Так получше
var val6160 = $('#value6160').val();

Сообщение отредактировал wondertalik: 27 Январь 2016 - 15:52


#260 Dinak

    Активный участник

  • Пользователи
  • PipPipPip
  • 207 сообщений
  • Пол:Мужчина
  • Город:Новосибирск

Отправлено 26 Февраль 2016 - 15:12

Hello! Народ подскажите, нужно скрыть поле при выборе чекбокса в другом поле, к примеру есть такой код:
// В поле инициатора скрытия
function onchange_{$one_field.id}()
{
  display_field(1080, document.getElementById("value{$one_field.id}['Европа']").checked);
}
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
// Код в появляющемся/исчезающем поле
display_field({$one_field.id}, document.getElementById("value1070['Европа']").checked);

При таком подходе необходимо перезагрузить страницу после выбора чекбокса чтобы появилось поле `1080`.
Есть вариант кода без перезагрузки страницы?





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных