Обратите внимание на $('#master').change()
. Потому что это не имеет смысла без проверки значения, которое является значением по умолчанию или нет. Другое дело, что было бы лучше проверить значение, а не текст.
В любом случае, я могу сделать это так:
HTML
age
<select id="age">
<option value="">Choose</option>
<option value="10">10</option>
<option value="20">20</option>
</select> master
<select id="master">
<option value="">Choose</option>
<option value="X">X</option>
<option value="Y">Y</option>
</select> type
<select id="type">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
JS
$('#master, #age').change(function(e) {
changeBorder(e);
});
function changeBorder(e) {
if ($('#age').val() !== '' || (e.target.id === 'master' && $('#master').val() !== '')) {
// perform the action
$("#type").css("border", "solid 1px red");
} else
$("#type").css("border", "");
}
Демонстрация в Интернете (jsFiddle)