JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" />
<input type="text" />
<input type="text" />
<button type="button" id="botao" disabled="disabled">Botão</button>
JavaScript
// Mantém os inputs em cache:
var inputs = $('input');
// Chama a função de verificação quando as entradas forem modificadas
// Usei o 'change', mas 'keyup' ou 'keydown' são também eventos úteis aqui
inputs.on('keyup', verificarInputs);
function verificarInputs() {
var preenchidos = true; // assumir que estão preenchidos
inputs.each(function () {
// verificar um a um e passar a false se algum falhar
// no lugar do if pode-se usar alguma função de validação, regex ou outros
if (!this.value) {
preenchidos = false;
// parar o loop, evitando que mais inputs sejam verificados sem necessidade
return false;
}
});
// Habilite, ou não, o <button>, dependendo da variável:
$('button').prop('disabled', !preenchidos);
}