Показ/скрытие полей через JavaScript
#61
Отправлено 14 Декабрь 2012 - 21:40
#62
Отправлено 14 Декабрь 2012 - 23:38
#63
Отправлено 15 Декабрь 2012 - 12:02
Oleg_ (14 Декабрь 2012 - 21:40) писал:
Странно, должно работать. Попробуйте тогда такой вариант:
if ({$user.id} == 1) document.getElementById('field_view1432').style.display = '';
#64
Отправлено 16 Декабрь 2012 - 17:30
#65
Отправлено 17 Декабрь 2012 - 00:26
function onchange_{$one_field.id}() { display_field(ПОЛЕ В ПОДЧИНЕННОЙ ТАБЛИЦЕ, document.getElementById('value{$one_field.id}').value=="Нет"); }
#66
Отправлено 17 Декабрь 2012 - 02:25
если у юзера нет прав на редактирование поля, но есть на просмотр - то в режиме просмотра записи отображаются все доступные, display_field до лампочки
если у юзера есть права и на редактирование - display_field работает и в посмотре и в редактировании как надо
#67
Отправлено 18 Декабрь 2012 - 10:07
function onchange_{$one_field.id}()
{
display_fgroup(70, document.getElementById('value{$one_field.id}').value!='8');
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
Работает но не сразу. т.е. Когда открываешь запись на редактирование группа 70 сразу видна, при изменении значений она скрывается. как сделать так чтоб сразу группа была скрыта?
#68 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 10:20
$(document).ready(function() { onchange_{$one_field.id}(); });
#69
Отправлено 18 Декабрь 2012 - 10:30
#70
Отправлено 18 Декабрь 2012 - 10:37
#71 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 10:43
// Получаем начальное значение поля var startValue = document.getElementById('value{$one_field.id}').value; function onchange_{$one_field.id}() { display_fgroup(70, document.getElementById('value{$one_field.id}').value!='8'); if (document.getElementById('value{$one_field.id}').value != startValue) // Проверяем новое значение alert("Поле было изменено!"); } $('#value{$one_field.id}').bind('change', onchange_{$one_field.id}); addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
#72
Отправлено 18 Декабрь 2012 - 10:54
var startValue = document.getElementById('value{$one_field.id}').value; function onchange_{$one_field.id}() { display_fgroup(70, document.getElementById('value{$one_field.id}').value!=startValue); } $('#value{$one_field.id}').bind('change', onchange_{$one_field.id}); addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id}); $(document).ready(function() { onchange_{$one_field.id}(); });
#73
Отправлено 18 Декабрь 2012 - 14:13
Сообщение отредактировал OLDest: 18 Декабрь 2012 - 14:13
#74 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 14:31
#75
Отправлено 18 Декабрь 2012 - 14:50
#76
Отправлено 18 Декабрь 2012 - 14:53
document.getElementById('value1774').value='Изменение статуса с "'+startValue1+'" на "'+document.getElementById('edit_value{$one_field.id}').value+'"';работает
#77 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 14:54
$(document).ready(function() { var startValue = document.getElementById('value1774').value; onchange_{$one_field.id}(); });
#78
Отправлено 30 Январь 2013 - 11:59
Приведу пример. Имеется таблица Клиент, ей подчинена таблица Объект, а таблице Объект есть подчиненная таблица Документ.
В таблице Документ необходимо скрыть поле, если в таблице Клиент поле списка принимает конкретное значение.
Такая функция осуществима? Если да, то как?
Сообщение отредактировал KLV: 30 Январь 2013 - 12:00
#79
Отправлено 30 Январь 2013 - 14:27
#80
Отправлено 25 Апрель 2013 - 16:17
Все работает стабильно.
$(function(){ on_change_sel(); function on_change_sel() { if (document.getElementById('value2201').value=='Юридическое'){ show_urid(); hide_fiz(); }else if(document.getElementById('value2201').value=='Физическое'){ show_fiz(); hide_urid(); } } $('a.button.edit').click(function(){ on_change_sel(); }); $('#value2201').change(function(){ on_change_sel(); }); function show_urid(){ display_field(439,1); //Юридическое название display_field(440,1); //Юридический адрес display_field(1056,1); //ИНН display_field(1057,1); //КПП display_field(1058,1); //Расчетный счет display_field(1065,1); //банк display_field(1059,1); //Корр. счет display_field(1060,1); //Лицевой счет display_field(1061,1); //БИК display_field(1062,1); //Руководитель display_field(1063,1); //Бухгалтер display_field(1064,1); //Код ОКАТО display_field(1066,1); //КБК display_field(3301,1); //ОКВЭД display_field(3311,1); //ОКПО display_field(2671,1); //ОГРН } function hide_urid(){ display_field(439,0); //Юридическое название display_field(440,0); //Юридический адрес display_field(1056,0); //ИНН display_field(1057,0); //КПП display_field(1058,0); //Расчетный счет display_field(1065,0); //банк display_field(1059,0); //Корр. счет display_field(1060,0); //Лицевой счет display_field(1061,0); //БИК display_field(1062,0); //Руководитель display_field(1063,0); //Бухгалтер display_field(1064,0); //Код ОКАТО display_field(1066,0); //КБК display_field(3301,0); //ОКВЭД display_field(3311,0); //ОКПО display_field(2671,0); //ОГРН } function show_fiz(){ display_field(2151,1); // фио display_field(2161,1); //паспорт серия display_field(2171,1); //Паспорт номер display_field(2181,1); //Кем выдан display_field(2191,1); //Дата выдачи display_field(2391,1); //Место работы } function hide_fiz(){ display_field(2151,0); // фио display_field(2161,0); //паспорт серия display_field(2171,0); //Паспорт номер display_field(2181,0); //Кем выдан display_field(2191,0); //Дата выдачи display_field(2391,0); //Место работы } });
Количество пользователей, читающих эту тему: 71
0 пользователей, 71 гостей, 0 анонимных