 1
 1
 
Показ/скрытие полей через JavaScript
#41
Отправлено 31 Январь 2012 - 09:04
#42
Отправлено 31 Январь 2012 - 09:44
 Разработчик (31 Январь 2012 - 09:04) писал:
Разработчик (31 Январь 2012 - 09:04) писал:
Если в условии ставить проверку сразу нескольких полей, то условие не срабатывает, хотя если разделить проверку условия на отдельные поля и каждую проверку поставить в "свое" поле, то по отдельности они работают. А если их собрать в одном условии IF и разместить в одном из полей - то не работают.
Если эти условия ставить в функцию, которая срабатывает при каком-то событии, то все работает. А вот в режиме просмотра - нет.
В версии 194 это работало.
#43
Отправлено 31 Январь 2012 - 10:02
#44
Отправлено 16 Март 2012 - 15:25
 shambler81 (28 Ноябрь 2011 - 20:25) писал:
shambler81 (28 Ноябрь 2011 - 20:25) писал:
Руки дошли.
 Разработчик (04 Август 2011 - 14:46) писал:
Разработчик (04 Август 2011 - 14:46) писал:
Алгоритм присвоения события для поля связи уже был описан ранее в другой теме: http://clientbase.ru...?showtopic=2600 . Если вкратце, необходимо применять присвоение события через функцию jQuery, а не через addHandler:
function onchange_{$one_field.id}()
{
  // ваша функция
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
 Разработчик (08 Август 2011 - 12:11) писал:
Разработчик (08 Август 2011 - 12:11) писал:
Добавили в множественный выбор (в полях с типом список, пользователь и группа) генерацию события на изменение. Теперь событие срабатывает, а для присвоения ему функции необходимо использовать ту же конструкцию что и для полей связи выше.
#45
Отправлено 06 Апрель 2012 - 02:39
КОД В ПОЛЕ СО СПИСКОМ
function onchange_{$one_field.id}()
{
display_field(2777, document.getElementById('value{$one_field.id}').value=="отправлено" || document.getElementById('value{$one_field.id}').value=="доставлено" || document.getElementById('value{$one_field.id}').value=="получен ответ" || document.getElementById('value{$one_field.id}').value=="зависло" || document.getElementById('value{$one_field.id}').value=="утеряно");
display_field(2773, document.getElementById('value{$one_field.id}').value=="отправлено" || document.getElementById('value{$one_field.id}').value=="доставлено" || document.getElementById('value{$one_field.id}').value=="получен ответ" || document.getElementById('value{$one_field.id}').value=="зависло" || document.getElementById('value{$one_field.id}').value=="утеряно");
display_field(2774, document.getElementById('value{$one_field.id}').value=="доставлено" || document.getElementById('value{$one_field.id}').value=="получен ответ" || document.getElementById('value{$one_field.id}').value=="зависло" || document.getElementById('value{$one_field.id}').value=="утеряно");
display_field(2775, document.getElementById('value{$one_field.id}').value=="получен ответ" || document.getElementById('value{$one_field.id}').value=="зависло" || document.getElementById('value{$one_field.id}').value=="утеряно");
display_field(2778, document.getElementById('value{$one_field.id}').value=="получен ответ" || document.getElementById('value{$one_field.id}').value=="зависло" || document.getElementById('value{$one_field.id}').value=="утеряно");
// id1 и id2 - id тех полей, которые необходимо скрыть/отобразить, вместо них подставляете нужные вам номера
}
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
КОД В ПОЛЯ:
display_field({$one_field.id}, document.getElementById('value2779').value=="отправлено" || {$one_field.id}, document.getElementById('value2779').value=="доставлено" || {$one_field.id}, document.getElementById('value2779').value=="получен ответ" || {$one_field.id}, document.getElementById('value2779').value=="зависло" || {$one_field.id}, document.getElementById('value2779').value=="утеряно");
// ID заменяете на реальный id поля "список"
display_field({$one_field.id}, document.getElementById('value2779').value=="доставлено" || {$one_field.id}, document.getElementById('value2779').value=="получен ответ" || {$one_field.id}, document.getElementById('value2779').value=="зависло" || {$one_field.id}, document.getElementById('value2779').value=="утеряно");
// ID заменяете на реальный id поля "список"
display_field({$one_field.id}, document.getElementById('value2779').value=="получен ответ" || {$one_field.id}, document.getElementById('value2779').value=="зависло" || {$one_field.id}, document.getElementById('value2779').value=="утеряно");
// ID заменяете на реальный id поля "список"
#46 Гость_Roman_*
Отправлено 06 Апрель 2012 - 07:52
#47
Отправлено 07 Июнь 2012 - 16:42
#48
Отправлено 07 Июнь 2012 - 17:17
#49
Отправлено 07 Сентябрь 2012 - 22:22
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#50
Отправлено 10 Сентябрь 2012 - 15:51
#51
Отправлено 08 Ноябрь 2012 - 00:14
 CbCoder (07 Июнь 2012 - 17:17) писал:
CbCoder (07 Июнь 2012 - 17:17) писал:
в списке с множественным выбором
function onchange_{$one_field.id}()
{
display_field(194, document.getElementById('value193').value == 'Расчеты');
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
в отображаемом/скрываемом поле
display_field(194, document.getElementById('value193').value == 'Расчеты');
в результате поле 194 всегда скрыто, при установке галочки в строке 'Расчеты' ничего не происходит
#52
Отправлено 08 Ноябрь 2012 - 10:01
В дальнейшем вероятно исправим данную ситуацию.
#53
Отправлено 17 Ноябрь 2012 - 16:55
 CbCoder (08 Ноябрь 2012 - 10:01) писал:
CbCoder (08 Ноябрь 2012 - 10:01) писал:
Исправили. Теперь пример выше необходимо записать так:
function onchange_{$one_field.id}()
{
  display_field(194, document.getElementById("value193['Расчеты']").checked);
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
					
					#54
Отправлено 19 Ноябрь 2012 - 07:48
#55
Отправлено 11 Декабрь 2012 - 21:07
else if(document.getElementById('value1451').value!=="" && (document.getElementById('value{$user['id']}').value=="1")
"если текущий пользователь 1"то
display_field(1432, 1);
Сообщение отредактировал Oleg_: 12 Декабрь 2012 - 00:48
#56
Отправлено 12 Декабрь 2012 - 09:30
Например:
if (document.getElementById('value111').value=={$user.id}) display_field(1432, 1);
111 - id поля "пользователь"
#57
Отправлено 12 Декабрь 2012 - 14:43
 
					
					#58
Отправлено 12 Декабрь 2012 - 22:29
if (document.getElementById('value111').value=={$user.id}) display_field(1432, 1);
если я правильно понял, показывает поле если текущий пользователь является создателем записи.А мне надо, что бы поле показывалось определенному пользователю, даже если запись ему не принадлежит.
Как то так должно быть
если ('value{текущий пользователь}')=="1")
то поле показать
если нет
то не показывать
Сообщение отредактировал Oleg_: 12 Декабрь 2012 - 22:30
#59
Отправлено 13 Декабрь 2012 - 09:27
#60
Отправлено 13 Декабрь 2012 - 09:35
 Oleg_ (12 Декабрь 2012 - 22:29) писал:
Oleg_ (12 Декабрь 2012 - 22:29) писал:
Неправильно поняли. Показывает, если поле с id = 111 равно текущему пользователю.
 Oleg_ (12 Декабрь 2012 - 22:29) писал:
Oleg_ (12 Декабрь 2012 - 22:29) писал:
Тогда см. код выше от nk. Ваш первоначальный вариант в любом случае неверный.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных


 
				
				
 
				
				










