Ola Luiz, da uma olhada sobre reuso de codigo.
Mas, resumindo...
Quando disse que vc poderia fazer uma funcao caso fosse usar mais de uma linha de codigo eh valido, mas tambem tem o reuso de codigo.
Vc colocou o ID diretamente dentro da funcao, entao se algum dia vc quiser aplicar a mesma funcao para um outro elemento, vc tera que criar uma nova funcao, repetindo o codigo e apenas alterando o ID.
Do ponto de vista pratico nao teria muita diferenca entre vc colocar diretamente a funcao no atributo do elemento ou simplesmente chama-la pelo mesmo atributo, pois a diferenca na quantidade de codigo gerado seria irrelevante.
Pense em um outro ponto, e se um dia vc quisesse aplicar a dita funcao a digamos 20 elementos? Entao vc faria 20 funcoes?
Uma vez me falaram que nao existe codigo errado, mas codigo que funciona, o codigo esta funcional, mas pode ser otimizado.
//Essa funcao atende a necessidade do momento, mas nao pode ser reaproveitada para outros elementos
function ...(){
if(jQuery('input[id*=nuUnico]').val() != ""){
jQuery('select[id*=tipoJustica]').attr("disabled", "true").css("background-color","#e9e9e9");
}
else{
jQuery('select[id*=tipoJustica]').removeAttr("disabled", "true").css("background-color","#DDE8FE");
}
}
//Passando os elementos por parametro vc pode utiliza-la para qualquer elemento, nao precisaria de uma nova funcao para cada elemento
//
function ...(elemento1, elemento2){
if(jQuery(elemento1).val() != ""){
jQuery(elemento2).attr("disabled", "true").css("background-color","#e9e9e9");
}
else{
jQuery(elemento2).removeAttr("disabled", "true").css("background-color","#DDE8FE");
}
}
<li>
<h:outputLabel for="nuUnico" value="Número Único do Processo" />
<h:inputText id="nuUnico" styleClass="obrigatorio extraGrandeModificado numerico" maxlength="20" value="#{estoqueContaMB.filtro.nuProcesso}" disabled="#{estoqueContaMB.filtro.booleanProcesso}"
onkeyup="javascript:FuncaoComNomeMaisGenerico(this, 'select[id*=tipoJustica]');"/>
</li>