Я создаю страницу администратора для своей модели, которая будет иметь вложенный блок выбора, вот моя форма для этого:
f.input :task_category_id, as: :select, коллекция: TaskCategory.roots.pluck(:name, :id), выбрано: f.object.task_category_id, input_html: { класс: "вложенный выбор", "data-url-prefix" => "/admin/tasks/", "data-url-suffix" => "/fetch_sub_categories/", }, обертка_html: { класс: "вложенная-выбор-обертка", "идентификатор-категории-данных" => f.object.task_category_id, } Я написал JQuery, который будет обрабатывать инициализацию вложенного выбора
Task.prototype.initializeNestedSetSelects = function() { $.each($(".task").find('.nested-select-wrapper'), function (index, elem) { новый NestedSet($(elem), "задачи").init(); }); }; теперь я хочу скрыть и показать некоторые поля в соответствии со значением из выбранного, вот моя функция для этого:
Task.prototype.bindTaskCategoryEvents = function() { вар _this = это; $("#task_task_category_id").change(function() { _this.hideFields(); }); } Task.prototype.hideFields = function() { console.log("да"); var Task_category = $("#task_task_category_id").find('option:selected').text(); console.log(категория_задачи); //логика для сокрытия } Проблема в том, что когда я перезагружаю страницу или возникают какие-то ошибки в форме, значение из вложенного выбора возвращает ноль, что бы я ни пытался (см. изображение ниже), я проверяю с помощью .ready, .on( "DOMContentLoaded"), похоже, ни один из них не работает

Аналогично, изменение при изменении не вызывается, когда значение изменяется в выборе при перезагрузке или в случае ошибок, есть ли способ убедиться, что, как только внутри выбора появится значение, оно должно запустить событие, которое я можно использовать для написания моей логики?
Вот информация о моих драгоценных камнях:
Рельсы: 5.1.7
ActiveAdmin: 2.0
Мобильная версия