continuando…
<td> <input class="btn btn-info" type="button" value="Pesquisar" id="btnPesqProd" name="btnPesqProd" onclick="pesquisaNatureza(this)" onKeyPress="somaTotal()"/></td>
</tr>
</tbody>
</table>
continuando…
<td> <input class="btn btn-info" type="button" value="Pesquisar" id="btnPesqProd" name="btnPesqProd" onclick="pesquisaNatureza(this)" onKeyPress="somaTotal()"/></td>
</tr>
</tbody>
</table>
eu queria que nao adicionasse o nome “COMBUSTIVEIS” mais de uma vez.
Ele fica dentro do id idDesc dentro da tabela pai x filho
ou seja, quando eu clicar em adicionar itens e o campo idDesc ja tiver COMBUSTIVEIS na linha anterior, nao pode adicionar novamente ele
Agora sim Gabriel, so tem um problema agora, quando tento adicionar qualquer item apos escolher Combustivel, nao da pra adicionar.
A função pesquisaNatureza(this) que trás se é combustível ou não?
Gabriel sim, ela mostra outros itens tb, exemplo: pode escolher combustivel ou alimentaçao, ai escolho combustivel por exemplo e ai este item vai para dentro da tabela pai x filho
veja na imagem abaixo, apos clicar em pesquisar abre uma nova aba abaixo para escolher o item
so que nao é este o problema, o problema é que se escolho combustivel uma vez e depois tento escolher outro qualquer nao da, ai eu queria que desse para escolher os outros, so travasse combustivel
Então a validação se já existe COMBUSTIVEL, você coloca dentro dessa função pesquisaNatureza
*aqui bloqueia toda a tabela e deveria bloquear somente quando ja tiver escolhido combustivel e tentar escolher-lo de novo
==============
o que deveria acontecer: eu clico em adicionar item, ai escolho combustivel e depois quando tento adicionar outro (que nao seja combustivel, por exemplo; alimentaçao), seja adicionado a tabela pai x filho
Como está sua função pesquisaNatureza?
assim
function pesquisaNatureza(campo){
var posNomeCampo = 0;
var posNumLinha = 1;
var splitValues = campo.name.split("___");
var pesquisa = $("#idNatu___"+splitValues[posNumLinha]).val();
var c0 = DatasetFactory.createConstraint("FILTRO", pesquisa, pesquisa, ConstraintType.MUST);
var constr = new Array(c0);
var campos = new Array("CODTBORCAMENTO", "DESCRICAO");
var dsRetorno = DatasetFactory.getDataset("dsNatOrcamentaria3", campos, constr, null);
dataTablesNatureza(dsRetorno.values, splitValues[posNumLinha] );
}
E essa função dataTablesNatureza?
é mais facil eu te enviar por e-mail rs, aqui o codigo vai ficar sempre dividido por causa da limitação de caracteres e é uma funçao chamando a outra
vc poderia me passar seu e-mail?
manda no e-mail:
blz, enviei la, obrigado
O codigo deu certo, obrigado Gabriel
Não sei se compreendi sua necessidade, mas acho que você pode usar essa condição para seu problema
if($('input[id^="idDesc_"]:contains("COMBUSTIVEIS")').length) {
FLUIGC.toast({ title: '', message: "Número máximo de B é 1", type: 'danger' });
} else {
var row = wdkAddChild(tabela);
}
O seletor JQuery input seleciona todos os inputs, id^="idDesc_" filtra apenas aqueles que tenham o id com o início idDesc_, e o :contains("COMBUSTIVEIS") filtra apenas aqueles que tenham no seu conteúdo a string COMBUSTIVEIS.
Bom dia Guilherme, obrigado por ajudar, mas tb nao deu, quando uso este codigo ate adiciona as linhas, mas quando adiciono o combustivel mais de uma vez, ele nao trava e continua adicionando
O contains não funciona para valores de campo.
Somente para texto encontrados no HTML.
Exemplo:
<p>apenas teste</p>
if ($("p:contains('teste')").length > 0) { alert("ACHOU"); } else { alert("NÃO ACHOU")