rdPavel, потому что у тебя там бред написан.
cp_id_387.onclick = function() { onchange="getAvtoList(this)"; };
cp_id_387.onclick = function() { getAvtoList(this); };
cp_id_387.onclick = function() { getAvtoList; };
Строка 1 - Навешиваешь обработчик на событие «click», обработчик перезаписывает значение свойство «onchange» глобального объекта «window» (а было ли свойство вообще объявлено?).
Строка 2 - перезаписываешь обработчик события «click» элемента, тут почти все верно. В твоём контексте, я уверен, this будет эквивалентно window (поправьте, если ошибаюсь).
Строка 3 - еще раз перезаписываешь обработчик события «click» элемента. Сам обработчик - чушь. Даже не знаю как это прокомментировать...
Чтобы навесить несколько обработчиков на 1 событие используй метод «addEventListener».
В первой строке ты попытался (вероятно) повесить обработчик на событие «change», должно было получиться так:
cp_id_387.onchange=function(e){getAvtoList(e.target);};//Или с addEventListener
Во второй строке, чтобы передать функции «getAvtoList» сущность, в отношении которой было произведено событие, нужно было получить событие и обратиться к его свойству «target», т.е. примерно так:
cp_id_387.onclick=function(e){getAvtoList(e.target);};