Автоматически заполнять элементы второго раскрывающегося списка после выбора в первом раскрывающемся списке

Я использую DNN в нашей внутренней сети. Мы настроили форму и модуль списка для отслеживания/обновления записей инвентаризации.

В настоящее время у меня есть два поля с именами MainCompany и SubCompany. В MainCompany 15 элементов, и каждый элемент в MainCompany имеет множество подэлементов (до 50).

DotNetNuke (DNN) отображает MainCompany и SubCompany в виде раскрывающихся списков (это хорошо). Однако я не смог найти способ автоматического заполнения элементов SubCompany.

Например; Вы должны выбрать Соединенные Штаты из раскрывающегося списка стран, и будут отображаться регионы США. В нашем случае все элементы отображаются независимо от выбора в первом списке выбора.

Наши элементы рендеринга html, такие как:

<select name="MainCompany" id="MainCompany">
<option value="0" class="DNNRadioButton">Not Specified</option>
<option value="1" class="DNNRadioButton">Company A</option>
<option value="2" class="DNNRadioButton">Company B</option>

<select name="SubCompany" id="SubCompany">
<option value="0" class="DNNRadioButton">Not Specified</option>
<option value="1" class="DNNRadioButton">SubCompany A</option>
<option value="2" class="DNNRadioButton">SubCompany B</option>
<option value="3" class="DNNRadioButton">SubCompany c</option>
<option value="4" class="DNNRadioButton">SubCompany D</option>

Подкомпания A и Подкомпания B являются дочерними компаниями основной компании A; Дочерняя компания C и дочерняя компания D основной компании B.

Список длинный, но я постарался кратко объяснить.

В базе данных MSSQL все значения и заголовки (например, SubCompany A) хранятся в таблице с именем FieldSettings в столбце InputSettings в следующем формате:

Для основной компании: None Specified|0;Company A|1;Company B|2;.....Company Z|n Для дочерней компании: None Specified|0;SubCompany A|1;SubCompany B|2;.....SubCompany Z|n

Поскольку значения не связаны на уровне базы данных, я ищу способы связать их на уровне HTML, если не с помощью кода.

Мы используем модуль форм и списков, а исходный код можно загрузить с http://dnnfnl.codeplex.com/releases/view/93728

После отправки формы записи (например, SubCompany A и Company A) записываются в таблицу UserDefinedTable, как показано ниже:

FieldID || RowId || FieldValue
----------------------------------
113        2323     MainCompany A
114        2324     SubCompany A

Я работаю в интранете с ограничениями и не могу предоставить больше информации. Я ценю вашу помощь.


person eys2013349    schedule 25.02.2013    source источник
comment
если у вас много подобных вещей, для этого есть библиотека, вот демо для нее: demowf .aspnetawesome.com/AjaxDropdown.aspx   -  person Omu    schedule 25.02.2013
comment
@Omu Знаете ли вы, возможно ли с awesome позволить пользователям выбирать категорию верхнего уровня из одного раскрывающегося списка и автоматически заполнять подкатегорию многими уровнями глубины? бргдс   -  person s_h    schedule 28.03.2013
comment
@sebastian_h, когда значение раскрывающегося списка родителя изменится, дочерние элементы будут перезагружены, используя новое значение родителя в качестве параметра   -  person Omu    schedule 29.03.2013
comment
@Ому спасибо! я постараюсь. бргдс   -  person s_h    schedule 29.03.2013
comment
Где вы храните информацию, которая связывает два списка?   -  person Gonza Oviedo    schedule 29.05.2013


Ответы (1)


Хорошо, не уверен, правильно ли я это понимаю. Должна быть какая-то связь между значениями, чтобы определить, какие дочерние компании принадлежат какой основной компании. Так, например. когда пользователь выбирает вариант из основного списка компаний, у вас будет ajax-вызов функции, которая вернет дочерние компании для этой основной компании. Вот как это работает?

person reggaemahn    schedule 24.06.2013