function onchange_{$one_field.id}() { var val{$one_field.id} = $('#value{$one_field.id}').val(); switch( val{$one_field.id} ) { case '0': document.getElementById('main12730').value = 0; break; case '': document.getElementById('main12730').value = 0; break; default: document.getElementById('main12730').value = 1; break; } } $(function() { onchange_{$one_field.id}(); $('#value{$one_field.id}').change(function() { onchange_{$one_field.id}(); }); });
1
изменение поля и чтобы другое поле стало обязательным для заполнения
Автор master2015, 12 янв. 2016 14:44
Сообщений в теме: 23
#21
Отправлено 10 Февраль 2016 - 17:08
Получилось, вот он код:
www.its-truck.ru - Группа компаний ИТС
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 - Интернет-магазин запасных частей для грузовых авто
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 - Интернет-магазин запасных частей для грузовых авто
#22
Отправлено 10 Февраль 2016 - 17:37
Несколько мудрено, можно чуть сократить:
На работу не влияет, просто красивее как-то.
function onchange_{$one_field.id}() { switch ($('#value{$one_field.id}').val()) { case '0': case '': document.getElementById('main12730').value = 0; break; default: document.getElementById('main12730').value = 0; break; } } $(onchange_{$one_field.id}); // назначаем функцию на событие загрузки страницы $('#value{$one_field.id}').change(onchange_{$one_field.id}); // назначаем функцию на событие изменения поля
На работу не влияет, просто красивее как-то.
#23
Отправлено 11 Февраль 2016 - 09:27
CbCoder (10 Февраль 2016 - 17:37) писал:
Несколько мудрено, можно чуть сократить:
На работу не влияет, просто красивее как-то.
На работу не влияет, просто красивее как-то.
Я правильно понимаю, что если использовать этот код для скрытия полей:
function onchange_{$one_field.id}() { var val{$one_field.id} = $('#value{$one_field.id}').val(); switch( val{$one_field.id} ) { case '0': display_field(12730, 0); break; case '': display_field(12730, 0); break; default: display_field(12730, 1); break; } } $(function() { onchange_{$one_field.id}(); $('#value{$one_field.id}').change(function() { onchange_{$one_field.id}(); }); });
То к каждому скрываемому полю уже можно не дописывать:
display_field({$one_field.id}, document.getElementById('value1831').value=="Да");
??
Сообщение отредактировал ber: 11 Февраль 2016 - 09:27
www.its-truck.ru - Группа компаний ИТС
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 - Интернет-магазин запасных частей для грузовых авто
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 - Интернет-магазин запасных частей для грузовых авто
#24
Отправлено 11 Февраль 2016 - 09:40
Да, правильно. В современном варианте можно просто прописывать одну и ту же функцию и на событие изменения поля и на событие загрузки страницы. Ранее просто не знали этого, поэтому приходилось в каждом поле дублировать скрытие при загрузке.
По этой же причине кстати, сейчас не имеет принципиального значения в каком именно поле размещать js-код (если пользоваться вариантом с функциями).
По этой же причине кстати, сейчас не имеет принципиального значения в каком именно поле размещать js-код (если пользоваться вариантом с функциями).
Количество пользователей, читающих эту тему: 11
0 пользователей, 11 гостей, 0 анонимных