Если index.html и subpage.html - это две разные страницы (а не шаблон angularjs или что-то в этом роде), то, вероятно, потому, что код, который обрабатывает нажатие кнопки, а остальная часть вашей функции не существует вsubpage.html.
быстрая и грязная
Я предполагаю, что вы не используете никаких инструментов сборки.Самый простой способ - переместить функцию кнопки в тег скрипта внутри subpage.html
angularjs way
Я вижу, вы используете angularjs в проекте.Прикрепление четных списков вручную, например, нажатием кнопки, - не самый лучший способ сделать это.Вы можете легко переместить функциональность в свой угловой контроллер, управляющий этой страницей, и добавить атрибут ng-click к кнопке, которая вызывает эту функцию.Таким образом, вы позволяете фреймворку решать, когда и hpw подключить прослушиватель события click, а не управлять им самостоятельно.
Кстати ... Использование каркаса типа angular / реагировать / vue большую часть времени делает ненужным использование jQuery.В этом случае вы также можете использовать библиотеку, созданную для amgularjs, для создания CSV из таблицы.jQuery - это очень DOM способ мышления, в то время как angular - это скорее DATA способ мышления.По моему мнению, именно поэтому лучше не смешивать эти вещи.
Это может помочь вам: https://github.com/kollavarsham/ng-table-to-csv