Semi nested Controllers

Hi,

I have pretty much an identical select_controller as is shown by the end of this video: Dynamic Select Fields in Rails using Hotwire - YouTube

I basically need this to work but two levels deep. But also I need it to be able to work just the regular single level deep.

I realise that controllers can be nested but cannot access stuff inside nested controllers. My markup is below and i think the above constraint is causing the failure.

Any idea to how i can get this to work flexibly from one level to 2 levels to potentially three levels deep?

            <div data-controller="select" data-select-url-value="/manufacturers/models" data-select-param-value="manufacturer">
                <% f.label :manufacturer, "Filter by manufacturer" %>
                <%= f.select :manufacturer,
                    options_for_select(@manufacturers, params[:manufacturer]),
                    { include_blank: 'All manufacturers' },
                    { data: { action: "change->filters#submit change->select#change" }, class: "item-manufacturers filter-item filter-item--select" } %>

                <div data-controller="select" data-select-url-value="/manufacturers/submodels" data-select-param-value="model">
                    <% f.label :model_1, "Filter by Model" %>
                    <%= f.select :model_1,
                        {},
                        { include_blank: 'All models' },
                        { data: { action: "change->filters#submit", "select-target": "select" }, class: "item-models filter-item filter-item--select" } %>

                    <% f.label :model_2, "Filter by Sub model" %>
                    <%= f.select :model_2,
                        {},
                        { include_blank: 'All sub models' },
                        { data: { action: "change->filters#submit", "select-target": "select" }, class: "item-models filter-item filter-item--select" } %>
                </div>
            </div>
import { Controller } from "@hotwired/stimulus";
import { get } from "@rails/request.js";

export default class extends Controller {
  static targets = ["select"]
  static values = {
    url: String,
    param: String
  }

  connect() {
    if (this.selectTarget.id === "") {
      this.selectTarget.id = Math.random().toString(36)
    }
  }

  change(event) {
    let params = new URLSearchParams()
    params.append(this.paramValue, event.target.selectedOptions[0].value)
    params.append("target", this.selectTarget.id)

    get(`${this.urlValue}?${params}`, {
      responseKind: "turbo-stream"
    })
  }
}

Thanks,
Neil