Показ/скрытие полей через JavaScript
#101
Отправлено 16 Август 2013 - 14:16
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
#102
Отправлено 11 Сентябрь 2013 - 14:04
Есть три поля связи:
Объект1 (value'4831')
Объект2(value'4841')
Объект3(value'4871')
Задача. Если при добавлении записи заполняется поле Объект1 поля Объект2 и Объект3 скрываются, и уже в дальнейшем не видны в режиме редактирования и просмотра. Тоже самое с другими полями: если заполняется Объект2 поля Объект1 и Объект3 скрываются.
Сообщение отредактировал KLV: 11 Сентябрь 2013 - 14:04
#103 Гость_Roman_*
Отправлено 11 Сентябрь 2013 - 14:31
if (document.getElementById("value4831").value) { // Заполнено Объект1 display_field(4841, 0); display_field(4871, 0); } else if (document.getElementById("value4841").value) { // Заполнено Объект2 display_field(4831, 0); display_field(4871, 0); } else if (document.getElementById("value4871").value) { // Заполнено Объект3 display_field(4831, 0); display_field(4841, 0); }
#104
Отправлено 12 Сентябрь 2013 - 09:21
function onchange_{$one_field.id}() { {Код} } $('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
#105 Гость_Roman_*
Отправлено 13 Сентябрь 2013 - 07:48
function afterLoad() { {Код} } $(document).ready(function() { afterLoad(); });
#106
Отправлено 13 Сентябрь 2013 - 08:15
#107 Гость_Roman_*
Отправлено 13 Сентябрь 2013 - 09:09
#108
Отправлено 13 Сентябрь 2013 - 09:16
Цитата
Объект1 (value'4831')
Объект2(value'4841')
Объект3(value'4871')
#109 Гость_Roman_*
Отправлено 13 Сентябрь 2013 - 09:31
if (document.getElementById("value4871").value != '0')
#110
Отправлено 16 Сентябрь 2013 - 09:05
function onchange_{$one_field.id}() { if (document.getElementById('value4831').value) { display_field(4841, 0); display_field(4871, 0); } else if (document.getElementById('value4841').value) { display_field(4831, 0); display_field(4871, 0); } else if (document.getElementById('value4871').value) { display_field(4831, 0); display_field(4841, 0); } } $('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
Затем в настройках во вкладке Доступа настроил поперемнно три правила на отображение полей. С условием: Если Объект1 не равен 0 и Если Объект2 равен 0 и Если Объект3 равен 0, то отображать Объект1, а Объект2 и Объект3 скрывать.
Заработало.
#111
Отправлено 30 Октябрь 2013 - 22:17
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#112
Отправлено 31 Октябрь 2013 - 09:18
#113
Отправлено 05 Декабрь 2013 - 12:13
display_field(3521,$('#view_cell_{$one_field.id}').text() =="Отказ");добавлен такой код. в режиме просмотра все гуд, однако при добавлении и редактировании все равно поле показывается. так и должно быть?
#114
Отправлено 05 Декабрь 2013 - 12:25
#115
Отправлено 05 Декабрь 2013 - 12:49
// Выключение отображения поля при загрузке страницы display_field(3521, document.getElementById('value{$one_field.id}').value=="Отказ"); function onchange_{$one_field.id}() { // Функция по событию "изменение поля" display_field(3521,document.getElementById('value{$one_field.id}').value=="Отказ"); } addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
Полчему поле 3541 в режиме добавления и редактирования изначально показывается, если не выбран отказ? При этом при смене статуса обращения - поле скрывается и показывается как нужно. Больше яваскрипта нет. Код в поле 1741($one_field.id)
Сообщение отредактировал wondertalik: 05 Декабрь 2013 - 12:56
#116
Отправлено 05 Декабрь 2013 - 13:50
$(document).ready( function(){ // код внутри сработает только при полной загрузке структуры страницы display_field(3521, document.getElementById('value{$one_field.id}').value=="Отказ"); }); function onchange_{$one_field.id}() { // Функция по событию "изменение поля" display_field(3521,document.getElementById('value{$one_field.id}').value=="Отказ"); } addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
См. $(document).ready
#117
Отправлено 05 Декабрь 2013 - 13:53
function onchange_{$one_field.id}() { // Функция по событию "изменение поля" display_field(3521,document.getElementById('value{$one_field.id}').value=="Отказ"); } addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id}); $(document).ready(onchange_{$one_field.id}); // помещаем имя функции вместо кода
#118
#119
Отправлено 10 Декабрь 2013 - 15:30
В зависимости от выбора нужно либо показать либо скрыть поле при просмотре.
Приведу пример:
Поле Аренда, список Да/ Нет, ид 7080
Поле Да, ид 7090.
В зависимости от того что выбрано в поле Аренда, поле Да либо показывается либо не показывается.
При редактировании все работает. Выбираю Да, показывается поле Да. Выбираю Нет, скрывается поле Да. Но при сохранении - поле Да все равно показывается.
Прошерстил всю тему на форуме. Так и не получилось добиться + результата.
Заранее спасибо за помощь.
#120
Отправлено 10 Декабрь 2013 - 16:31
Количество пользователей, читающих эту тему: 64
0 пользователей, 64 гостей, 0 анонимных