Jump to content


Photo

Mudar Valor Input Radio


  • Faça o login para participar
29 replies to this topic

#1 janick

janick

    12 Horas

  • Usuários
  • 194 posts
  • Sexo:Não informado

Posted 13/03/2008, 09:58

Olá pessoal bom dia,

tenho um formulário com vários campos input radio, onde o valor de todos é igual a 0

<input type="radio" name="capa" value="0" />

Como faço para quando o usuário selecionar um deles, o value deste que foi clicado, ser modificado automaticamente para 1. Se ele escolher outro, o que estava clicado, mudar novamente para 0, e por ai vai.

se alguém puder dar um help, valeu!

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 13/03/2008, 11:36

Não sei se esta segunda linha funciona assim, mas é uma tentativa. :D

function clickRadio( obj )
{
	$("input[name='capa']").attr("value", "0");
	$(obj).attr("value", "1");
}

Ai você usa a função assim nos radio buttons:

<input type="radio" name="capa" value="0" onclick="clickRadio( this )" />

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 13/03/2008, 11:49

Nem tinha lido que era com jquery.
Na primeira linha é bom usar um each() para pegar todos os inputs e mudar o valor. Para mudar o value, pode usar o val().
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#4 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 13/03/2008, 12:37

Acho que ficaria melhor assim:

$(document).ready( function()
{
	 // Verifica se o radiobutton está selecionado

	 if( ! $("input[name='capa']").is( ':checked' ) )
	 {
		  // Não está selecionando, logo deve ser zero

		  $( this ). val( '0' );
	 }

	 // Troca o value

	 $("input[name='capa']").click( function()
	 {
		  // Trocou ^^

		  $( this ).val( '1' );
	 });
});
Embora eu não tenha testado, acredito que dê certo. E evita criar uma função à parte só pra poder manipular os elementos.

Além do que jQuery preza por não obstrusividade de código limpo, não havendo necessidade de pendurar o código no onclick

P.S.: Paulo seu esquema não funcionaria pois se o código não estiver dentro de $(document).ready(), o próprio $ não é reconhecido.

P.S. 2: Alex, não há necessidade de usar each() pois como radiobuttons sempre name's iguais e o seletor especificou para ser pêgo todos os input's com um atributo específico, o trecho é repetido automaticamente para todos os existentes no documento.

Meu Deus, eu explicando alguma coisa pros veteranos do fórum, deve ser um sonho :lol:

Edição feita por: Bruno Augusto, 13/03/2008, 12:44.


#5 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 13/03/2008, 12:53

Bom, ok. Comecei a ver JQuery não faz muito tempo. :D

Observando o seu esquema, o ready do JQuery é executado no momento da abertura da página, certo? :ponder:

Onde então que, quando eu selecionasse outra opção, os valores dos outros radio buttons seriam "setados" para zero?

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#6 janick

janick

    12 Horas

  • Usuários
  • 194 posts
  • Sexo:Não informado

Posted 13/03/2008, 15:33

Consegui !!!! ficou assim !!!!
Editado: diminui um pouco, acho que tá certo

<script type="text/javascript">

$(document).ready(function() {

	$( "#enviar" ).click( function() {

		$(":radio").each(function() {

			if(this.checked == true) {

				$( this ).val( "1" );

			}

			else {

				$( this ).val( "0" );

			}

		});

	});

});

</script>

Edição feita por: janick, 13/03/2008, 15:57.


#7 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 13/03/2008, 18:46

Paulo, se JavaScript estiver ativo, aquele trechinho que detecta o :checked sobrescreve o value independente de qual valor exista anteriormente.

Sobre o ready eu também não sou lá aquelas coisas com jQuery, mas tô começando a me virar bem já. E pelo que estudei até agora, o ready atua depois que todos os nós DOM sejam resolvidos, seja lá o que isso queira dizer :assobio:

janick, você misturou JavaScript "normal" com sintaxe jQuery. Ou você faz de um jeito, ou de outro. Não sei se influencia o uso de this ao invés de $( this ), mas acho bom não misturar.

Sem contar o fato de você ter usado um loop que eu ACHO desnecessário. Você testou o código que eu passei antes de mudar? Tipo, só pra ver se eu acertei "de cabeça" :lol:

#8 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 13/03/2008, 18:55

É mesmo. Li por cima e achei que ele retornaria só um array, que teria que ser percorrido para poder trabalhar com todos.

É, você tem que dar um desconto porque é com jquery. Agora faça isso com javascript puro. =P haha

O this que ele "misturou" no código funciona, não tem problema. Só não funcionaria se ele usasse esse this no lugar o $(this), chamando um método da jquery.
Por exemplo:
this.click(...)
// no lugar de 
$(this).click(...)

Ah, é. No seu exemplo você teria que colocar uma parte para setar o valor para 0 em todos os radio e depois setar 1 para o que foi clicado. Você só faz essa verificação no ready().

Edição feita por: Alex Hiroshi, 13/03/2008, 19:03.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 janick

janick

    12 Horas

  • Usuários
  • 194 posts
  • Sexo:Não informado

Posted 14/03/2008, 09:57

isso, funcionou sim.
não me lembro exatamente mas acho que vi um this no site do jquery em algum exemplo

#10 Bruno Augusto

Bruno Augusto

    ∙•● Restarting... ●•∙

  • Usuários
  • 1968 posts
  • Sexo:Não informado
  • Localidade:Itajubá

Posted 14/03/2008, 18:36

É, o this é bem como o Alex falou, eu já estava suspeitando. :rolleyes:

Sobre o this no site da jQuery você vai ver sempre que precisar aplicar um método ou referenciar o próprio elemento DOM.

Por exemplo:

$( 'a.teste' ).click( function() {
alert( $( this ).rel() );
});
Nesse exemplo ridículo você pega o valor rel deste elemento, no caso o link de classe teste clicado.

#11 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 23/09/2017, 08:10

Amoxicillin Before Lying Down online pharmacy Kamagra Fast Shipping
Uses For Keflex Dog Tadalafil Cialis Y Alcohol
What Is Keflex Ordered For <a href=http://cialtobuy.com>buy cialis</a> Kamagra Duracion
Cialis Profession For Sale Online cialis buy online Where To Buy Erythromycin
How Much Is Cialis Without Insurance Buy Viagra From India
Cialis E Priligy <a href=http://cialtobuy.com>cialis</a> Blog Priligy
Using Outdated Amoxicillin cialis buy online Fish Disease Pop Eye Amoxicillin Treatment
24 Hour Cialis Cialis En Hipertensos
Levitra 10 Mg Orodispersibile <a href=http://cialtobuy.com>cialis</a> Acheter Priligy Pilules
Amoxicillin For Urinary online pharmacy Lipitor Generic Online No Presciption
Tadalis Sx Sans Ordonnance En Ligne
Get Fluoxetine 40mg Ups Direct Pharmacy <a href=http://cialtobuy.com>cialis</a> Acheter Cialis 5mg Prix

#12 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 29/09/2017, 10:24

Macrobid Buy Direct Free Shipping generic cialis Viagra Otras Alternativas Pediatric Amoxicillin Dosage
Price Of Stendra Vs Viagra Buy Viagra Jelly Dose For Amoxicillin In People cialis Cialis 10 Mg Precio Oficial
Levitra Farmacia Acquisto Genetic Viagra Using Mastercard Viagra Bestellen Voor Vrouwen cialis Where To Order Viagra Acheter Du Cialis Au Luxembourg
Propecia Side Effects Sperm Impotence cialis Vigrra Chemist On Line Thadafil Prezzo Del Cialis
Proscar Yo Propecia cialis Acheter Viagra Sans Risque Online Pharmacy 24 Amoxicillin For Dogs Colds

#13 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 03/10/2017, 16:37

Comprar Cialis Generico Espana Cialis Ohne Rezept Im Ausland viagra Cialis 5 Mg Opinioni
Cialis E Fertilita viagra Generic Cheapeast Acticin Online In Internet Cod Accepted Kamagra Villeurbanne 100mg Comprar Levitra Professional
Cialis In Spain Compra Levitra Generico Order Now Direct Zentel 400mg Echinococcosis Internet Free Shipping viagra Cheap Cialis Online Pharmacy Other Names For Amoxicillin Baclofene Commander
Amoxicillin Adult Dose Rate levitra 20mg Valtrex Online Uk Viagra Giallo
Cialis Levitra Effets generic viagra Cialis Generico Profilo Canadian Generis Viagra Acquistare Kamagra Nantes
Zithromax For Gastric Emptying Cheap Viagra In Australia online pharmacy Nazaire Where Can I Buy Left Over Clomid
Real Progesterone Visa On Line Donde Comprar Cialis En Antofagasta viagra Levitra Gegen Zu Fruhes Kommen
Cialis Come Comprare Buy Accutane From Legal Chemist Cialis Journalier viagra online pharmacy Cialis Costo Ufficiale Cialis Y Viagra Juntos Acheter Priligy Dapoxetine En Ligne En Toute Securite
Calcolo Levitra Combigan Viagra Quelle Dose buy viagra online Commander Baclofene En Ligne Amoxil No Prescription

#14 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 07/10/2017, 21:17

Metronidazole And Amoxicillin Combined viagra online pharmacy Comprar Cialis Diario 5 Mg Keflex And Acid Reflux
Amoxicillin Alcohol Quien Vende Cialis viagra online prescription Review Best Place To Buy Viagra Online Keflex Metal Hose
Propecia Impasto Generic Tamoxifen 20mg cialis Viagra Legal Kaufen Schweiz

#15 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 07/10/2017, 22:57

Zithromax Skin Rash Side Effects Levitra Para Hipertensos What Is Viagra For Men viagra Phizer Viagra For Sale Generic Stendra Website Pharmacy




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq