Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia! Alguém pode me dizer qual método do JavaScript ou do jQuery eu uso para verificar se existe um valor em um JSON? No meu caso estou fazendo um select com PHP em um banco de dados e uma das colunas retornadas por este select tem múltiplos valores separados por ponto vírgula, ;, cada um destes valores representa um checkbox em um formulário, então eu preciso ver os valores que existem nesta posição do JSON para fazer que os respectivos checkbox venham marcados.
OBS: Sim, eu sei que uma célula do banco de dados deve ter apenas um valor, mas a base de dados que recebi já venho assim e não modificar ela... ;D
Isso não seria para verificar se existe valores dentro do JSON? O que eu precisava verificar seria por exemplo, dentro da posição carros do JSON existem os valores "Volkswagen"; "Fiat"; "Toyota"; "Chevrolet", então eu tenho que ver se existe o valor "Fiat", se existir o checkbox da Fiat deve vir marcado, se existir o valor "Toyota" o seu perspectivo checkbox deve vir marcado também, se não existir o valor "Nissan", então o checkbox da Nissan fica desmarcado.
Ok, agora entendi
Então cara, roda um loop pelo json. Dentro desse loop você seleciona o check correspondente e marca ele.
Sim, tinha ideia de que teria fazer isto, mas o problema é como eu vou testar para ver se contém o valor especifico?
Não precisa testar.
Se o loop passar por tal valor, marque o check. Estou assumindo que o teu json tem a seguinte estrutura:
[
'check1',
'check3',
'check7',
]nesse caso, marque o check 1, 3 e 7.Não precisa testar se existe o check2, pois ele não está no loop, então não faça nada. Apenas marque os que estão.
Caso não seja assim, poste um exemplo do teu json.
Mas como vou marcar o check sem testar? O JSON tem essa estrutura:
{"camposInd":[
{"perspectiva":"Financeira; Clientes; Aprendizagem e crescimento"}
]}
E eu tenho vários checkbox cada um com um dos valores possíveis dentro desta posição do JSON, o nome de cada posição do JSON tem o mesmo nome do atributo name dos checkboxes que o representam e cada um dos checkboxex tem um id igual ou semelhante aos valores dentro da posição do JSON, por exemplo este é um dos checkbox que devem ser marcados conforme o JSON acima:
<input type="checkbox" id="Aprendizagem_e_crescimento" value="Aprendizagem e crescimento" name="perspectiva[]">
Assim cara:
http://wbruno.github.io/examples/check-json/
<html>
<head>
<meta charset="utf8" />
</head>
<body>
<input type="checkbox" id="Aprendizagem_e_crescimento" value="Aprendizagem e crescimento" name="perspectiva[]" />Aprendizagem<br />
<input type="checkbox" id="Outra" value="Outra" name="perspectiva[]" />Outra<br />
<input type="checkbox" id="Clientes" value="Clientes" name="perspectiva[]" />Clientes<br />
<input type="checkbox" id="Foo" value="Foo" name="perspectiva[]" />Foo<br />
<input type="checkbox" id="Bar" value="Bar" name="perspectiva[]" />Bar<br />
<input type="checkbox" id="Financeira" value="Financeira" name="perspectiva[]" />Financeira
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
var json = {"perspectiva":"Financeira; Clientes; Aprendizagem e crescimento"},
arr = json.perspectiva.split('; ');
arr.forEach(function(each){
$("input[name='perspectiva[]'][value='"+each+"']").attr("checked", "checked");
})
</script>
</body>
</html>meio que não precisa testar nada, nem saber se não existe. Apenas marcar os que estiverem no jSON e pronto.
Simples assim :lol:
Certinho velho! Muito obrigado!
Cara, ai no caso vc pode verificar com
if (dados.pos !== undefined)