Я работаю с web2py.
Я запускаю ajax-вызов и хочу обновить определенные значения selectbox из базы данных. Я вызываю контроллер и возвращаю selectbox с опциями, все создано успешно,
Я хотел бы преобразовать созданный / возвращенный блок выбора в выбранный блок выбора , как только он полностью загрузит , в противном случае он возвращается к обычному блоку выбора.
Я пытался:
- Прослушивание 'DOMSubtreeModified' (и других подобных событий) и затем активация выбранных строк, но они запускаются слишком часто, и я должен знать, когда поле выбора свсе опции полностью инициированы .Я могу принудительно инициировать каждое изменение, это ужасно - потребляет много ресурсов и просто неправильно.
- Инициирует некоторый обратный вызов при возврате ajax (событие 'ajax: complete'), но, опять же, это не гарантировать, что элементы управления html полностью инициированы, как указано в в этом ответе (и проверено).
- Я попытался установить событие onload для элемента управления select.
Основные строки кода:
Вызов JavaScript:
ajax('{{=URL('controller_name', 'func_name')}}', ['param1'], 'target_div');
Возвращает контроллер Python (возвращает элемент управления select с объектами option, инициированными в нем, и переопределяетtarget_div inner html):
return SELECT(distinct_values, _id = 'manual_group_selectbox' , _multiple = 'true' , _class='SelectBoxSingleDisabled');
Ищете решение, ориентированное на web2py.Никакой грубой силы / хакерских вещей, если это возможноСпасибо!