Функция bind_select_element()
Версии: 3.0.0+
Описание
bind_select_element(p_parent, p_child, p_child_field_name)
Привязывает select элемент к родительскому элементу (select или lookup). При смене значеня в родительском элементе, в дочернем элементе проводится фильтрация значений. При фильтрации используются атрибуты тега option дочернего элемента, поэтому для привязки у дочернего элемента, в его xml описании, нужно добавить вывод дополнительного поля при помощи тега db_field_ext
Параметры
p_parent — id родительского элемента или сам элемент.
p_child — id дочернего элемента или сам элемент.
p_child_field_name — Название поля(атрибута тега
option), по которому будет происходить фильтрация в дочернем элементе. Фильтрация проходит в формате: p_child.options[*].getAttribute(p_child_field_name) = значение родительского элемента.
Результат
При смене значения в родительском поле, в дочернем автоматически производится фильтрация значений.
Пример
<EDITCARD .... > <ELEMENTS> ... <FIELD elem_type="select" caption="Результат" db_field="TaskResultID" mandatory="no" datatype="id" row_type="fk_column" row_type_parent_table="iris_TaskResult" row_type_parent_display_column="Name" db_field_ext="TaskTypeID"/> ... </ELEMENTS> </EDITCARD>
//******************************************************************** // Скрипт карточки раздела "Задачи" //******************************************************************** var c_Task_ScriptFileName = '/config/sections/Task/c_task.php'; //Инициализация карточки function c_task_init(p_wnd_id) { //Находим форму карточки var l_form = $(p_wnd_id).getElementsByTagName("form")[0]; ... bind_select_element(l_form.TaskTypeID, l_form.TaskResultID, 'TaskTypeID'); ... }В этом примере привязка настраивается таким образом, что при изменении типа дела, в поле "результат" отображаются только результаты, относящиеся к данному типу дел.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
-
