2010-11-03 3 views
1

Контекст проблемы:

1) rcbComboBoxInRadPanel - это RadComboBox для Telerik.
2) В rcbComboBoxInRadPanel есть событие «OnClientSelectedIndexChange», которое вызывает «itemSelected».
3) rcbComboBoxInRadPanel содержит radAjaxPanel под названием «foo».
4) strSomeOtherRadAjaxPanel называет RadAjaxPanel, который существует вне «foo».
5) $ find (strSomeOtherRadAjaxPanel) возвращает действительный файл RadAjaxPanel, если выполняется один.

function itemSelected(rcbComboBoxInRadPanel) 
{ 
    var strComboBoxInRadPanel = rcbComboBoxInRadPanel.get_id(); 
    var intRecordID = rcbComboBoxInRadPanel.get_value(); 
    $find(strSomeOtherRadAjaxPanel).ajaxRequest(intRecordID);     
} 

Оказывается, что $ находка (strSomeOtherRadAjaxPanel) всегда возвращает нуль, когда вызывается из "OnClientSelectedIndexChange" случае rcbComboBoxInRadPanel.

Есть ли другой способ для меня получить действительную ссылку на RadAjaxPanel с помощью $ find (strSomeOtherRadAjaxPanel)?

Любая помощь, которую вы можете предложить, была бы полезна.

ответ

0

Вы можете получить ссылку на strSomeOtherAjaxPanel от другого обработчика клиента комбо или когда он перемещен за пределы его держателя панели ajax? Если strSomeOtherAjaxPanel правильно инициализируется на клиенте, он должен быть доступен в каждом из этих случаев.

0

Проверьте полученный вами HTML-код. ASP динамически генерирует имена идентификаторов клиентов, поэтому ваши идентификаторы на стороне сервера могут не сохраниться. Они, вероятно, теперь выглядят примерно как ctl100aFMLksdjflFML

Либо наведите их на другой путь (например, имя класса, поиск jQuery и т. Д.) Или установите режим идентификатора клиента в статический (если это единственный экземпляр этого объекта), повторите попытку.

Смежные вопросы