find - Caractere Curinga na busca de campos
Perguntas » find » Caractere Curinga na busca de campos
Caractere Curinga na busca de campos
Uma pergunta aos mestres em JQuery. Consigo utilizar o find() para retornar resultados que "não" contenham uma sentença informada com curinga? Atualmente eu já utilizo e funciona muito bem dessa forma:
$('#pnPaineisFormulario').find('input[id$=_d]').
Neste caso me retorna todos os campos que possuem "_d" no final da ID, mas preciso que traga somente os que não tenha.
Surgiu essa necessidade por causa dos botões switch do Style Guide, que duplicam o objeto quando renderiza, criando um outro, porém com _d no final.
@Tiago, tente dessa forma:
$("input:not(input[id$='_d'])");
Sucesso Gabriel, trouxe todos os campos que eu queria. Mas e sobre essa questão do Fluig duplicar os campos e nomear com _d no final do id, é normal? Eu já tinha notado que ele faz isso com campos tipo select também, daí tenho que ficar tratando e ocultando eles pra não ficar duplicado na tela.
— Tiago Volpi 08 de Jun de 2017
Na verdade nunca vi isso de duplicar campo e adicionar _d no final. O que vejo que ocorre comigo é que quando bloqueio o campo no enable fields ele duplica o campo e adiciona _ antes do name do campo:
Exemplo: tenho o campo
<input type="text" name="teste" id="teste" />
Dai quando bloqueio no enable fields ficam 2 campos:
<input type="hidden" name="teste" id="teste" />
<input type="text" name="_teste" id="_teste" />
— Tiago Volpi 09 de Jun de 2017
E olha o que ele gera:
Opa, já tentou isso?
https://www.w3schools.com/jquery/sel_not.asp
Tentei assim Gustavo:
$(":not('input[id$=_d]')");
Mas não trouxe o resultado esperado.
Então, você pode tentar da maneira que o Gabriel mencionou. Em todo caso também é possível fazer a negação direto no atributo. Como descrito aqui: https://www.w3schools.com/jquery/sel_attribute_notequal_value.asp
Não é a resposta que estava procurando? Procure outras perguntas com as tags find curinga jquery ou faça a sua própria pergunta.