Показ/скрытие полей через JavaScript
#81
Отправлено 15 Май 2013 - 11:19
#82
Отправлено 15 Май 2013 - 11:21
#84
Отправлено 19 Июнь 2013 - 13:24
#85
Отправлено 19 Июнь 2013 - 13:29
CbCoder (19 Июнь 2013 - 13:24) писал:
Смотрите, получается даже если я из списка убираю "Авто", то поле все равно остается внизу
Что-то в коде нужно дописать для этого?...
Дописываю-поле пропало. Последовательность действий-у меня есть поле для выбора, выбираю "Авто", появляется еще одно поле со списком, там тоже выбираю. Так вот текстовое поле, что на рисунке "мешается" пропадает только тогда, когда во всех полях со списком убираю выбранное действие. Получается, что это правильно?последовательное обнуление полей?
Сообщение отредактировал Dinara: 19 Июнь 2013 - 13:32
#86
Отправлено 19 Июнь 2013 - 13:37
Какой у вас должен быть алгоритм js-кода:
1. Если выбранное значение "авто" - показываем авто-блок и убираем мото-блок
2. Если выбранное значение "мото" - показываем мото-блок и убираем авто-блок
У вас же, как я уже выше сказал, видимо прописано только отображение блоков, без их отключения.
Если все равно непонятно что я написал, выложите здесь свой код.
#87
Отправлено 19 Июнь 2013 - 13:42
CbCoder (19 Июнь 2013 - 13:37) писал:
Какой у вас должен быть алгоритм js-кода:
1. Если выбранное значение "авто" - показываем авто-блок и убираем мото-блок
2. Если выбранное значение "мото" - показываем мото-блок и убираем авто-блок
У вас же, как я уже выше сказал, видимо прописано только отображение блоков, без их отключения.
Если все равно непонятно что я написал, выложите здесь свой код.
Код брала отсюда,в начале форума был предоставлен:
function onchange_{$one_field.id}()
{
display_field(3541, document.getElementById('value{$one_field.id}').value=="катер");
display_field(3551, document.getElementById('value{$one_field.id}').value=="авто");
display_field(3561, document.getElementById('value{$one_field.id}').value=="мото");
display_field(3571, document.getElementById('value{$one_field.id}').value=="мото");
display_field(3581, document.getElementById('value{$one_field.id}').value=="мото");
// id1 и id2 - id тех полей, которые необходимо скрыть/отобразить, вместо них подставляете нужные вам номера
}
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
Это в основном поле выбора, которое показывается при открытии таблицы
#88
Отправлено 19 Июнь 2013 - 13:47
#89
Отправлено 24 Июнь 2013 - 14:25
function onchange_{$one_field.id}() { display_field(3541, document.getElementById('value{$one_field.id}').value=="катер"); display_field(3551, document.getElementById('value{$one_field.id}').value=="авто"); display_field(3561, document.getElementById('value{$one_field.id}').value=="мото"); display_field(3571, document.getElementById('value{$one_field.id}').value=="мото"); display_field(3581, document.getElementById('value{$one_field.id}').value=="мото"); if (document.getElementById('value{$one_field.id}').value!="авто") { // если выбор не равен "авто", отключаем доп.поля для авто: display_field(3611, 0); } if (document.getElementById('value{$one_field.id}').value!="мото") { // если выбор не равен "мото", отключаем доп.поля для мото: display_field(3591, 0); display_field(3601, 0); } } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
#90
Отправлено 25 Июнь 2013 - 06:07
CbCoder (24 Июнь 2013 - 14:25) писал:
function onchange_{$one_field.id}() { display_field(3541, document.getElementById('value{$one_field.id}').value=="катер"); display_field(3551, document.getElementById('value{$one_field.id}').value=="авто"); display_field(3561, document.getElementById('value{$one_field.id}').value=="мото"); display_field(3571, document.getElementById('value{$one_field.id}').value=="мото"); display_field(3581, document.getElementById('value{$one_field.id}').value=="мото"); if (document.getElementById('value{$one_field.id}').value!="авто") { // если выбор не равен "авто", отключаем доп.поля для авто: display_field(3611, 0); } if (document.getElementById('value{$one_field.id}').value!="мото") { // если выбор не равен "мото", отключаем доп.поля для мото: display_field(3591, 0); display_field(3601, 0); } } addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});
ух ты, вот оно как делается))спасибо,записала себе,разобралась!!)))
#91
Отправлено 12 Август 2013 - 18:49
var statusValue = document.getElementById('value1371').value; var numValue = document.getElementById('value1271').value; var datregValue = document.getElementById('value1281').value; var datbornValue = document.getElementById('value1461').value; var douValue = document.getElementById('value1761').value; var editOsn = document.getElementById('value1381').value; var editKom = document.getElementById('value1391').value; var LgotaValue = document.getElementById('value2431').value; var FamValue = document.getElementById('value1421').value; /*Изменение статуса*/ function onchange_{1371}() { display_fgroup(11, (document.getElementById('value1371').value!=statusValue)&(FamValue!='')); if(document.getElementById('value1371').value!=statusValue) { if (document.getElementById('value1391').value==' ') { document.getElementById('value1391').value=''; document.getElementById('value1381').value=''; } if (document.getElementById('value1381').value==editOsn) { if (document.getElementById('value1391').value==editKom) { document.getElementById('value1391').value=''; document.getElementById('value1381').value=''; } } } else { document.getElementById('value1381').value=editOsn; document.getElementById('value1391').value=editKom; } } $('#value{1371}').bind('change', onchange_{1371}); addHandler(document.getElementById("value1371"), "onchange", onchange_{1371}); /*Изменение номера регистрации*/ function onchange_{1271}() { display_fgroup(11, (document.getElementById('value1271').value!=numValue)&(FamValue!='')); if(document.getElementById('value1271').value!=numValue) { if (document.getElementById('value1391').value==' ') { document.getElementById('value1391').value=''; document.getElementById('value1381').value=''; } if (document.getElementById('value1381').value==editOsn) { if (document.getElementById('value1391').value==editKom) { document.getElementById('value1391').value=''; document.getElementById('value1381').value=''; } } } else { document.getElementById('value1381').value=editOsn; document.getElementById('value1391').value=editKom; } } $('#value{1271}').bind('change', onchange_{1271}); addHandler(document.getElementById("value1271"), "onchange", onchange_{1271}); $(document).ready(function() { onchange_{1371}(); onchange_{1271}(); });
Сообщение отредактировал OLDest: 12 Август 2013 - 18:51
#92
Отправлено 13 Август 2013 - 09:58
#93
Отправлено 13 Август 2013 - 16:38
#94
Отправлено 13 Август 2013 - 16:52
#95
Отправлено 13 Август 2013 - 17:27
#96
Отправлено 13 Август 2013 - 17:35
#97
Отправлено 16 Август 2013 - 10:22
function on_change_{$one_field.id}() { display_field(4861, document.getElementById('value4161').value!='Пигменты'); display_field(4861, document.getElementById('value4161').value!='Краски'); display_field(5751, document.getElementById('value4161').value!='Светодиоды'); display_field(4921, document.getElementById('value4161').value=='Пигменты'); display_field(5761, document.getElementById('value4161').value=='Пигменты'); display_field(5761, document.getElementById('value4161').value=='Панели'); display_field(5761, document.getElementById('value4161').value=='Ленты'); display_field(5761, document.getElementById('value4161').value=='Блоки питания'); display_field(5761, document.getElementById('value4161').value=='Светодиоды'); display_field(5771, document.getElementById('value4161').value=='Плёнки'); display_field(5781, document.getElementById('value4161').value=='Провода'); display_field(5781, document.getElementById('value4161').value=='Камни'); display_field(5781, document.getElementById('value4161').value=='Плитка'); display_field(5791, document.getElementById('value4161').value=='Блоки питания'); display_field(5801, document.getElementById('value4161').value=='Блоки питания'); display_fgroup(221, document.getElementById('value4161').value!=''); } addHandler(document.getElementById('value4161'), 'onchange', on_change_{$one_field.id}); $().ready(function() { on_change_{$one_field.id}(); });
К полям прописан везде одинаковый код:
display_field({$one_field.id}, document.getElementById('value4161').value!="");
Не получается таким образом спрятать поле 4861 и показать поле 5761 при выборе из списка значения "Пигменты".
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
#98
Отправлено 16 Август 2013 - 11:22
К примеру, здесь:
display_field(5781, document.getElementById('value4161').value=='Камни'); display_field(5781, document.getElementById('value4161').value=='Плитка');
сработает только последняя команда, т.е. покажет 5781 только если поле 4161 равно плитке. Все остальное проигнорируется. Т.к. все условия для одного поля нужно задавать одновременно.
Например:
display_field(5781, document.getElementById('value4161').value=='Камни' || document.getElementById('value4161').value=='Плитка');или
if (document.getElementById('value4161').value=='Камни' || document.getElementById('value4161').value=='Плитка') display_field(5781, 1);
#99
Отправлено 16 Август 2013 - 13:27
Например для поля 4861:
display_field(4861, document.getElementById('value4161').value!='Пигменты' || document.getElementById('value4161').value!='Краски');В самом поле прописано:
display_field({$one_field.id}, document.getElementById('value4161').value!="");Вроде как при выборе "Пигменты" и "Краски" поля должны скрываться, а они показываются. Что-то не так?
www.GoodColor.ru - поставки и производство самосветящихся товаров и материалов
#100
Отправлено 16 Август 2013 - 13:44
display_field(4861, document.getElementById('value4161').value!='Пигменты' && document.getElementById('value4161').value!='Краски');
"не равно Пигменты И не равно Краски"
Тогда как у вас стоит "или" - такое условие будет показывать поле всегда.
Количество пользователей, читающих эту тему: 34
0 пользователей, 34 гостей, 0 анонимных