у меня есть форма. Ней администрируются ряд параметров.
и, для каждого параметра, задается еще и пользователь, который может работать с некой функциональностью и дата, до которой он может работать с этой функциональностью
пользователь выбирается из DropDownList-а, ExpiredDate выбирается с помощью ajaxToolkit:CalendarExtender
было всё красиво и удобно.
но, попросили о следующем: очень неудобно, когда для некоей функциональности нужно добавить несколько пользователей и с разными ExpiredDate, а страница уходит на сервер, потом обратно и т.д и т. п. Попросили сделать кнопку "Add user" при нажатии на которую, без отправки страницы на сервер, под существующим дропдауном и ajaxToolkit:CalendarExtender появится еще один дропдаун со списоком пользователем, и еще один ajaxToolkit:CalendarExtender
если еще раз нажали кнопку Add user, то появится еще один дропдаун и еще один ajaxToolkit:CalendarExtender...
в чем у меня затруднения: как проклонировать дропдаун средствами Javascript, в принципе понятно, но что делать с этим вот ajaxToolkit:CalendarExtender.... Как его проклонировать....
Подскажите, пожалуйста, решение на джаваскрипт, либо, может в состав самого AjaxToolkit входит такая функциональность?....
Здравствуйте, Vitguard, Вы писали:
V> Добрый день. V>Помогите, пожалуйста, со следующим:
...
V>Подскажите, пожалуйста, решение на джаваскрипт, либо, может в состав самого AjaxToolkit входит такая функциональность?....
V>заранее. БОЛЬШОЕ СПАСиБО!
function AddUserButtonClick()
{
// Создаешь DropDownList
// Создаешь input type=text id=DateN , где N - это порядковый номер пользователяvar MyCalendar = new AjaxControlToolkit.CalendarBehavior($get('DateN'));
// Устанавливаешь необходимые свойства календаря
MyCalendar.initialize();
}
Спасибо!
Это сработало!
но, в "статичных" контролах там рядом была картинка. При клике на неё появлялся календарь. после того, как в календаре выбиралась дата, она появлялась в соответствующем текстбоксе.
Сейчас в Вашем способе только при клике на текстбокс появляется поп-ап календарь
я дописал код, динамического добавления imageButton
к сожалению, простая установка свойства
var MyCalendar = new AjaxControlToolkit.CalendarBehavior($get('DateN'));
MyCalendar.PopupButtonID="imgShowCalendatDateN";
MyCalendar.initialize();
не помогла...
помогите. пожалуйста...
Здравствуйте, eos, Вы писали:
eos>Здравствуйте, Vitguard, Вы писали:
V>> Добрый день. V>>Помогите, пожалуйста, со следующим:
eos>...
V>>Подскажите, пожалуйста, решение на джаваскрипт, либо, может в состав самого AjaxToolkit входит такая функциональность?....
V>>заранее. БОЛЬШОЕ СПАСиБО!
eos>
eos>function AddUserButtonClick()
eos>{
eos> // Создаешь DropDownList
eos> // Создаешь input type=text id=DateN , где N - это порядковый номер пользователя
eos> var MyCalendar = new AjaxControlToolkit.CalendarBehavior($get('DateN'));
eos> // Устанавливаешь необходимые свойства календаря
eos> MyCalendar.initialize();
eos>}
eos>
Здравствуйте, Vitguard, Вы писали:
V> Спасибо! V>Это сработало! V>но, в "статичных" контролах там рядом была картинка. При клике на неё появлялся календарь. после того, как в календаре выбиралась дата, она появлялась в соответствующем текстбоксе. V> Сейчас в Вашем способе только при клике на текстбокс появляется поп-ап календарь V>я дописал код, динамического добавления imageButton V>к сожалению, простая установка свойства V>var MyCalendar = new AjaxControlToolkit.CalendarBehavior($get('DateN')); V>MyCalendar.PopupButtonID="imgShowCalendatDateN"; V>MyCalendar.initialize(); V>не помогла... V>помогите. пожалуйста...
Хотя для Вашей конкретной задачи я бы рассмотрел немного другой вариант решения:
— Создать UserControl содержащий всё необходимое (DropDownList и календарь).
— Положить внутрь UpdatePanel таблицу, repeater или еще какой-нибудь контрол для отображения массива созданного контрола, AddUser назначить в качестве триггера.
— На серверной стороне вести List необходимых данных и динамически рисовать необходимое количество юзеров и дат.