const containerSelector = '.card';
const selectSelector = `${containerSelector} select`;
const key = 'name';
const attr = `data-${key}`;
const attrSelector = `[${attr}]`;
$(selectSelector).change(function() {
$(this)
.closest(containerSelector)
.find(attrSelector)
.hide()
.filter(`[${attr}="${this.value}"]`)
.show();
}).val(defaultValueSelected).trigger('change');
// или
const selects = document.querySelectorAll(selectSelector);
const onChange = ({ target: t }) => t
.closest(containerSelector)
.querySelectorAll(attrSelector)
.forEach(n => n.style.display = t.value === n.dataset[key] ? 'block' : 'none');
selects.forEach(n => {
n.value = defaultValueSelected;
n.addEventListener('change', onChange);
n.dispatchEvent(new Event('change'));
});