Работаю с компонентами Infragistics для .Net 2.0 в Visual Studio 2005 на C#. У меня есть код на JavaScript, где пытаюсь установить значение в WebTextEdit:
В коде inputField это Infragistics WebTextEdit, а dropdown обычный выпадающий список. Оба сообщения в консоли работают корректно. До установки значения в списке может быть выбрано ‘привет’, и после присваивания этого значения переменной inputField консоль тоже показывает ‘привет’.
Но проблема в том, что значение в самом поле на форме визуально не обновляется. Подскажите, в чем может быть ошибка или есть ли какие-то особенности работы с Infragistics в таких случаях?
А ты пробовал через setAttribute установить? Иногда эти старые контролы капризничают с обычными методами. Попробуй inputField.setAttribute('value', dropdown[index].value) или даже через innerHTML если есть такая возможность. Какая версия Infragistics у тебя точно? В разных версиях API может отличаться.
Скорее всего проблема в том, что WebTextEdit не синхронизируется с DOM сразу после изменения. Попробуй использовать специальный метод для установки значения - обычно это setValue() вместо value(). Также после установки значения вызови inputField.renderControl() или inputField.update() - это заставит контрол перерисоваться. В старых версиях Infragistics часто такие глюки были именно из-за отсутствия принудительного обновления интерфейса.
У меня была похожая проблема с этими компонентами. Дело в том, что после изменения значения через javascript нужно принудительно обновить отображение контрола. Попробуй добавить после установки значения что-то вроде inputField.focus() или inputField.blur(). Еще можно попробовать вызвать метод refresh() если он есть у твоего контрола. У меня именно focus помог - поле как бы “проснулось” и показало новое значение.