Концептуально вы описали самый разумный подход. Только в реализации вижу пробелы. Якоря работают через идентификаторы, никаких классов.
Сперва кэшируем (фильтруем при необходимости) обёрнутый набор инпутов при инициализации программы (если они не добавляются динамически), а не в момент клика. Кнопке (элементу a), устанавливаем `href` идентификатор первого инпута. В коллбэке клика ищем релевантный `href` инпут по айди. Интересует нас не он, а следующий, идущий за ним инпут где-то в дереве DOM. Извлекаем идентификатор у него и перезаписываем `href` нашей "кнопке" порождающей событие клика.