Если у вашего проекта нет особой причины избегать JS-фреймворков, вы избежите многих долговременных головных болей, если будете использовать jQuery вместо чистого Javascript.
Перепишите ваше представление так:
JQuery заботится о обработчике событий onChange
, поэтому он не загромождает ваш HTML, зацепляя событие изменения вашего выпадающего меню.
Использование Helper::domId
означает, что вам не нужно беспокоиться о том, как помощники CakePHP генерируют свои атрибуты id
, что является чистым выигрышем в надежности и удобстве обслуживания.