JSON Radio + vRAptor

12 respostas
Fmgasparino

Olá pessoal, estou com uma dificuldade, onde minha aplicação nao consegue fazer o load de inputs do tipo Radio.

Utilizo o Json para trazer os itens da tabela, mas nao funciona para Radio. Alguem sabe como posso fazer? Devo pegar iD de qual radio? Definir o que para de certa forma eles juntarem…

Obrigado.

12 Respostas

Lucas_Cavalcanti

depende de como é o seu json, e de como estão organizados os seus radios…

suponha q o name dos seus radios seja meu.radio e que no json venha o que está nos values deles…
vc pode fazer algo do tipo (jQuery):

$('input[name=meu.radio]').removeAttr('checked'); //deschecka todos, não tenho certeza se essa linha é necessária

$('input[name=meu.radio][value=' + valueQueVeioDoJson + ']').attr('checked', 'checked'); //pra checar o radio certo

algo assim deve funcionar

Fmgasparino

Lucas Cavalcanti:
depende de como é o seu json, e de como estão organizados os seus radios…

suponha q o name dos seus radios seja meu.radio e que no json venha o que está nos values deles…
vc pode fazer algo do tipo (jQuery):

$('input[name=meu.radio]').removeAttr('checked'); //deschecka todos, não tenho certeza se essa linha é necessária

$('input[name=meu.radio][value=' + valueQueVeioDoJson + ']').attr('checked', 'checked'); //pra checar o radio certo

algo assim deve funcionar

Lucas, tentei de tudo e nao funcionou!!

Olha o que estou fazendo…

function teste() { $('input[name=contaAReceber.formaPagamento]').removeAttr('checked'); $('input[name="contaAReceber.formaPagamento"][value="2"]').attr('checked','checked'); }

<input type="radio" id="formaPagamentoDinheiro"
											name="contaAReceber.formaPagamento" value="1" />
										<label for="formaPagamentoDinheiro">
											Dinheiro(Espécie)
										</label>

										<input name="contaAReceber.formaPagamento"
											id="formaPagamentoCartaoDebito" type="radio" value="2" />
										<label for="formaPagamentoCartaoDebito">
											Cart&atilde;o de Debito
										</label>


										<input name="contaAReceber.formaPagamento"
											id="formaPagamentoCartaoCredito" type="radio" value="3" />
										<label for="formaPagamentoCartaoCredito">
											Cart&atilde;o de Cr&eacute;dito
										</label>

										<input name="contaAReceber.formaPagamento"
											id="formaPagamentoOutros" type="radio" value="4" />
										<label for="formaPagamentoOutros">
											Outros
										</label>

Pessoal, o que estou fazendo de errado, pleeease

Valeu

Lucas_Cavalcanti

vc tem o firefox com o firebug instalado?
ou o chrome?

tente executar isso no console deles e ve se tá retornando algum elemento:

$('input[name=contaAReceber.formaPagamento]')


$('input[name="contaAReceber.formaPagamento"]')
Fmgasparino
Lucas Cavalcanti:
vc tem o firefox com o firebug instalado? ou o chrome?

tente executar isso no console deles e ve se tá retornando algum elemento:

$('input[name=contaAReceber.formaPagamento]')


$('input[name="contaAReceber.formaPagamento"]')

Funcionou o primeiro comando, para deschecar tudo. O problema é para checar, acho que nao reconheceu a propriedade value.

Instalei agora o FireBug no Chrome, mas onde posso conferir se ele me retornou um objeto?

Valeu

Lucas_Cavalcanti

aperta F12 e vai em console

testa se um desses retorna alguma coisa:

$('input[name="contaAReceber.formaPagamento"][value="2"]')

$('input[name=contaAReceber.formaPagamento][value=2]')
Fmgasparino
Lucas Cavalcanti:
aperta F12 e vai em console testa se um desses retorna alguma coisa:
$('input[name="contaAReceber.formaPagamento"][value="2"]')

$('input[name=contaAReceber.formaPagamento][value=2]')

Em ambos retornam o objeto certo...

>>> $('input[name=contaAReceber.formaPagamento][value=2]')
[input#formaPagamentoCartaoDebito.ui-helper-hidden-accessible]
>>> $('input[name="contaAReceber.formaPagamento"][value="2"]')
[input#formaPagamentoCartaoDebito.ui-helper-hidden-accessible]

Lucas_Cavalcanti

então o javascript deveria funcionar… tenta fazer tb no console:

$('input[name=contaAReceber.formaPagamento][value=2]').attr('checked', 'checked')

ele checa o radio?

Fmgasparino

Lucas Cavalcanti:
então o javascript deveria funcionar… tenta fazer tb no console:

$('input[name=contaAReceber.formaPagamento][value=2]').attr('checked', 'checked')

ele checa o radio?

Não checa, somente me retorna…
Será que é algum problema no attr ?

Lucas_Cavalcanti

tenta:

$('input[name=contaAReceber.formaPagamento][value=2]')[0].checked = true;

ou

$('input[name=contaAReceber.formaPagamento][value=2]')[0].checked = 'checked';
Fmgasparino

Lucas Cavalcanti:
tenta:

$('input[name=contaAReceber.formaPagamento][value=2]')[0].checked = true;

ou

$('input[name=contaAReceber.formaPagamento][value=2]')[0].checked = 'checked';

Vou desistir de radios… rsrs
Não sei se muda algo, mas utilizo o jQuery UI. E Lucas, ainda não funcionou. Acho que vou fazer um teste individual, sem o framework. Porque, teóricamente deveria funcionar, não é mesmo… me retorna tudo, mas não faz alteração do checked…

Valeu!

Lucas_Cavalcanti

troca o type=“radio” pra type=“checkbox” e vê se o checked funciona…

é bem bizarro =(

Fmgasparino

Lucas e pessoal, testei sem o plugin, Jquery-UI e funcionou. Estavamos quebrando a cabeça e era isso. Um Bug. Irei procurar o erro na internet.

Valeu pela Ajuda!

Abs

Criado 7 de outubro de 2010
Ultima resposta 14 de out. de 2010
Respostas 12
Participantes 2