$$
был своего рода псевдонимом для document.getElements
(или Slick.find
сейчас) и всегда будет возвращать коллекцию HTML - даже если с 0 членами. следовательно, утверждение if ($$())
не будет ложным.
или вместо if ($$('selector').length)
или if (document.getElement('select[alias=foo]'))
, который будет null
или element object
, поэтому будет оцениваться falsy
Перепишите это на:
var selectEl = document.getElement('select[alias=school_type]');
if (selectEl) {
data['type_id'] = selectEl.get('value');
}