Привет всем! У меня возникла проблема с элементом управления AccordionPane в ASP.NET AJAX. Я пытаюсь получить и установить его состояние на основе действий пользователя, но JavaScript почему-то не работает как надо.
Вот пример кода, который я пробовал:
function переключитьПанель() {
var панель = $get('панель_Accordion1_AccordionExtender_ClientState');
индексОткрытойПанели = панель.get_SelectedIndex(); // не работает
}
Может кто-нибудь подсказать, как правильно обращаться к AccordionPane через JavaScript? Буду благодарен за любую помощь!
привет! на самом деле проблема не в джаваскрипте, а в том, как мы обращаемся к аккордеону. вместо прямого доступа к дом-элементам, нужно использовать объект AccordionBehavior. вот как это можно сделать:
function переключитьПанель() {
var аккордеон = $find(‘ID_твоего_AccordionExtender’);
var текущийИндекс = аккордеон.get_SelectedIndex();
var новыйИндекс = (текущийИндекс + 1) % аккордеон.get_Count();
аккордеон.set_SelectedIndex(новыйИндекс);
}
главное - правильно указать айди твоего аккордеона. с этим кодом должно заработать! если что, пиши - помогу разобраться
слушай, я тут попробовал немного по-другому подойти к твоей задаче. что если использовать метод findControl вместо $find? типа так:
var аккордеон = $get(‘панель_Accordion1’).control;
var текущийИндекс = аккордеон.get_SelectedIndex();
потом уже можно менять индекс как нужно. это должно сработать, если аккордеон правильно инициализирован. попробуй, может поможет решить твою проблему!
привет! короче, проблема в том что ты неправильно обращаешься к аккордеону. вот как это можно исправить:
function переключитьПанель() {
var аккордеон = $find(‘ID_твоего_AccordionExtender’);
var текущийИндекс = аккордеон.get_SelectedIndex();
var новыйИндекс = (текущийИндекс + 1) % аккордеон.get_Count();
аккордеон.set_SelectedIndex(новыйИндекс);
}
главное не забудь заменить ID_твоего_AccordionExtender на реальный айди. должно сработать, если что пиши - подскажу