Desabilitar botão tabela pai x filho

Olá pessoal, estou precisando de ajuda na tabela pai x filho.

Criei um botão para remover os filhos, mas eu preciso desabilitar o botão em uma determinada atividade.
Ex:
tabela pai x filho
Atividade 5

1
botão remover id=remover / id=msgStatus___1 = OK

2
botão remover id=remover / id=msgStatus___2 = ERRO


Preciso desabilitar o botão remover do campo OK

Olá, tudo bem?
O botão deve ser desabilitado ao carregar a tabela?
Tenta assim:

$("input[id^='remover___']").each(function(index,value) {
      var i = index+1

      if ($("#msgStatus___" + i).val() == "OK") {
        $(this).attr("disabled", "disabled")  
      } 
})

Acho que isso vai dar certo… testa aí.

Abs

Bom dia dica útil use a tag ele recebe o id___ e o name___ dai vc usa a técnica do colega acima com um pequeno ajuste

$("input[id^='remover___']").each(function(index,value) {
        $(this).attr("disabled", "disabled") ;
})

opa pessoal obrigado pela ajuda, mas ainda não deu certo…
estou fazendo assim:

var bloqueio_remover = /^(14)$/.test(atividade);
if(bloqueio_remover){
$(“input[id^=‘remover___’]”).each(function(index,value) {
var i = index+1
var tituloStatus = $("#tituloStatus___" + i).val()
var status = tituloStatus.trim()
var igual = tituloStatus == tituloStatus.trim()
if (status == “Vencimento alterado com sucesso.”) {
$(this).attr(“disabled”, “disabled”);
}
})
}

var bloqueio_remover = /^(14)$/.test(atividade);

Você está testando se está na atividade 14?

É uma ideia interessante. Eu geralmente crio funções no JS do formulário e no evento displayFields do formulário eu chamo a função quando estou na atividade.

Você está usando um <button>ou <input type="button"> ? Se postar o HTML da tabela Pai Filho fica mais fácil de orientar como seria o script correto.

Isso, estou usando na atividade 14.

o html é esse

<div class="form-group">
<span class="fluig-style-guide fs-display-block remover-titulo">
<i class="fluigicon fluigicon-trash icon-md" id="remover" name="remover" onclick="javascript:Titulo.removerLinha(this);"></i>
</span>
 </div>
  </div>

Então, você não tem um button nem input, por isso a solução entregue não funciona.

$("i[id^='remover___']").each(function (index, value) {
    // Execute as comparações que precisa
    $(this).remove(); // Vai remover o "botão" da tabela. Disabled não funciona para a tag i
}

Ou você pode trocar o HTML para utilizar um button personalizado e assim usar o disabled nele.

Obrigado Bruno, irei realizar essas alterações… aviso aqui se deu certo ou não.

Olá, este problema foi resolvido com as soluções citadas?

@allan.reichert , o jeito mais simples (pelo menos que considero mais simples) é deixar o botão numa coluna só dele. Aí você dá a essa coluna uma classe CSS (eu geralmente dou a classe action à th e td onde fica o botão de remover). Aí um simples $(".action").remove(); removerá a coluna inteira.

Mas isso tem que ser feito no navegador.

Como eu determino se deve aparecer ou não no evento displayFields, então eu chamo a função pra executar essa ação no navegador fazendo o append do script.

customHTML.append('<script>$(function () { $(".action").remove(); });</script>');
4 curtidas

Perfeito, deu certo.

Muito Obrigado

1 curtida

Consegui utilizar essa função customHTML.append() em um ícone que eu queria ocultar no meu processo, você me salvou cara kkkk, no meu caso peguei sua função e adaptei ela para que fosse possível ocultar a lixeira da tabela pai x filho , se alguém precisar, esta abaixo

 customHTML.append('<script>$(function () { $(".bpm-mobile-trash-column").hide(); });</script>');
1 curtida