Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gremio10

[Resolvido] Verificar quando está checked o radio

Recommended Posts

Fala galera, assim , to batendo a cabeça a uns 3 dias, e nao consigo de jeito nenhum fazer o que quero.

 

Assim, tenho um array que cria uns radio buttons, cada um tem sua imagem que a representa, quando clico num desses radio buttons, ele cria uma borda ao redor, demonstrando em qual a pessoa escolheu, meu erro é, que na hora de clicar em outro ele continua com a borda no anterior, o que deveria sumir, nao descobri um jeito de verificar se ele está ou nao checkado. Estou utilizando jQuery, pois o sistema daqui é todo construido em cima dele.

 

Obrigado.

 

meu código em jQuery.:

 

jQuery(".radio").click(function(){			
			
			if(jQuery(this).is(":checked")){
			
				jQuery(this).parent("#primeiro").find(".img").css("border","2px solid #000");	
			
			}			

			
		});

código do radio.:

 

<fieldset>
						{foreach from=$itemForChoice item=referenceAttribute}
                          
							<div id="valor_atributo_escolha">
						
							  <div id="primeiro">
								{radioButton object="shopOrderItemAttribute" property=`$referenceAttribute.attribute.identification` value=`$referenceAttribute.id` class="radio"}
                                {if ($referenceAttribute.imageName != "")}	
									<a rel="img_atributo_escolha" href="{$rootUrl}upload/referenceAttribute/{$referenceAttribute.imageName}" title="{$referenceAttribute.value}">					
									{resizeImage path="upload/referenceAttribute/" filename=`$referenceAttribute.imageName` width="75" hight="75" alt="`$referenceAttribute.value`" class="img" title="`$referenceAttribute.value`"}
									</a>
                                {else}
                                <label for="shopOrderItemAttribute_{$referenceAttribute.attribute.identification}">
								{$referenceAttribute.value}															
								</label>
								{/if}								
							</div>
                          </div>
						{/foreach}					
					</fieldset>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, é radio button ne?!

 

você não precisa saber qual exatamente.

é só remover de todos, antes de aplicar ao que foi clicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu tentei isso ai, so que ele nao retira de nenhum

 

tinha tentado

 

jQuery(".radio").click(function(){ 

      jQuery(this).parent("#primeiro").find(".img").css("border","none");                     
                        
      if(jQuery(this).is(":checked")){
                        
          jQuery(this).parent("#primeiro").find(".img").css("border","2px solid #000");   
                        
      }                       

                        
});

só que mesmo assim ,ele continua marcando os outros....

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aqui:

<div id="primeiro">
tá dentro de um loop ?

 

então tá errado.

você não deve repetir IDs.

 

mande sempre o HTML gerado.. vai lá, executa o php... aperta Ctrl + U (Exibir > Código Fonte), e cole aqui.

não tenho nem o teu banco de dados, e nem o teu sistema de template aqui, por isso fica impossível eu fazer qq coisa, vendo teu codigo php

Compartilhar este post


Link para o post
Compartilhar em outros sites

HTML:

 

 

<div class="modulo par">
	<div id="titulo_atributo_escolha">
        Acabamento
    </div>
<fieldset>
						                          
	<div id="valor_atributo_escolha">
	<div class="primeiro">
		<input type="radio" value="21989" class="radio" name="shopOrderItemAttribute[product_acabamento]" id="shopOrderItemAttribute_product_acabamento"/>
                <a rel="img_atributo_escolha" href="http://localhost/obravip/www/upload/referenceAttribute/1289917416_Winter.jpg" title="Pés cromados">					
		<img src="http://localhost/obravip/www/upload/referenceAttribute/75x56_1289917416_Winter.jpg" width="75" height="56" alt="Pés cromados" title="Pés cromados" class="img"/>
		</a>
                                								
	</div>
    </div>
	
	<div id="valor_atributo_escolha">
	<div class="primeiro">
		<input type="radio" value="21990" class="radio" name="shopOrderItemAttribute[product_acabamento]" id="shopOrderItemAttribute_product_acabamento"/>
    	<a rel="img_atributo_escolha" href="http://localhost/obravip/www/upload/referenceAttribute/1289917442_Fish.jpg" title="Pés brancos">					
		<img src="http://localhost/obravip/www/upload/referenceAttribute/75x49_1289917442_Fish.jpg" width="75" height="50" alt="Pés brancos" title="Pés brancos" class="img"/>
		</a>                            								
	</div>
    </div>					                          
	
	<div id="valor_atributo_escolha">
	<div class="primeiro">
		<input type="radio" value="24661" class="radio" name="shopOrderItemAttribute[product_acabamento]" id="shopOrderItemAttribute_product_acabamento"/>
        <a rel="img_atributo_escolha" href="http://localhost/obravip/www/upload/referenceAttribute/1289917587_Sunset.jpg" title="Pés estranhos">					
		<img src="http://localhost/obravip/www/upload/referenceAttribute/75x56_1289917587_Sunset.jpg" width="75" height="56" alt="Pés estranhos" title="Pés estranhos" class="img"/>
		</a>                        								
	</div>
    </div>
											
</fieldset>
</div>

jQuery:

 

jQuery(".radio").click(function(){ 

      jQuery(this).parent(".primeiro").find(".img").css("border","none");                     
                        
      if(jQuery(this).is(":checked")){
                        
          jQuery(this).parent(".primeiro").find(".img").css("border","2px solid #000");   
                        
      }                       

                        
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

jQuery(".radio").click(function(){
		$('.img').css('border', 'none');
		
		if(jQuery(this).is(":checked")){
			jQuery(this).parent(".primeiro").find(".img").css("border","2px solid #000");   
		}
	});

você está repetindo o id valor_atributo_escolha além de ter DIVs demais ai.

http://maujor.com/tutorial/divmania.php

 

tente ser mais semântico.

você está num form !

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.