SPServices.SPCascadeDropdowns

Столкнулся с необходимостью сделать каскадный dropdown из 3 уровней на sharepoint. На codeplex есть решение для 2х уровневого dropdown’а, но оно не сильно красивое. Путем длительных поисков и экспериментов нашел красивое и простое решение на основе JQuery.
Причем на том же codeplex.
Описания на русском для чайников в инете не обнаружил и решил восполнить пробел. Пример приведу на основе того же codeplex:
У нас есть 2 списка:
Countries. Состоит только из стандартного поля Название (Title)
Regions. Состоит из 2х полей — Название и подстановочного столбца Country, куда выбираются элементы из первого списка

Заполняем списки какими-нибудь произвольными данными. Создаем 3й список, в котором кроме поля Название будут 2 подстановочных поля — Country и State

После этого в SharePoint Designer создаем копию NewForm.aspx для 3-го списка и в дальнейшем работаем с ней.
Теперь нам надо скачать две библиотеки:
SPServices и JQuery
Выкладываем эти библиотеки в удобное место на портале.
После этого правим скопированную форму следующим образом:
После строки добавляем следующее:
Собственно, после этого во втором dropdown’е должны появляться значения на основе выбора в первом. Можно построить таким образом и 3й, и 4й уровень.
Немаловажный момент — если название поля на русском — в скрипте имя поля должно выглядеть примерно так: _x041e__x0440__x0433__x0430__x040
Найти это код просто — надо зайти в изменение столбца и посмотреть на ссылку в адресной строке. Она заканчивается на что-то типа &Field=%5Fx041e%5F%5Fx0440%5F%5Fx0433%5F%5Fx0430%5F%5Fx040. Заменяем там все %5F на символ нижнего подчеркивания и получаем название поля.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *