У меня есть раскрывающийся список, который мне нужно выбрать до или после выбора файла для загрузки. Кнопка загрузки отключена в начале, но обе эти 2 должны быть заполнены, чтобы включить эту кнопку.
$('#DropDown, input:file').on('change', function () {
$('#uploadButton').prop('disabled', !$(this).val());
}).trigger('change');
Это работает не так, как ожидалось. Это активирует кнопку, если изменяется только один из элементов. Как я могу сделать так, чтобы они оба требовались?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


$('#DropDown, input:file').on('change', function () {
$('#uploadButton').prop('disabled', !$('#DropDown').val() || !$('input:file').val());
}).trigger('change');
В ответ на требование пояснения к этому ответу:
Первоначально вы проверяли только значение того раскрывающегося списка, которое вы меняли в то время - $(this).val(). Таким образом, для правильной работы требовалось проверять значения обоих каждый раз, когда вы переключали #DropDown или input:file.
Ответы, которые объясняют код, обычно получают больше голосов, чем те, которые просто показывают код ... См. Как ответить.
Можем ли мы также увидеть HTML?