2010-08-29 15 views
12

Tengo algunos botones de radio¿Cómo puedo simular un clic en un botón de opción de jQuery UI?

<div id="typeRadios"> 
    <input id="character_chartype_a" name="character[chartype]" type="radio" value="A" /><label for="character_chartype_a">A</label> 
    <input id="character_chartype_a" name="character[chartype]" type="radio" value="B" /><label for="character_chartype_b">B</label> 
</div> 

que se convierten en jQuery UI botones

$("#typeRadios").buttonset(); 

Qué línea de código puedo utilizar para simular un clic en uno de los botones? He intentado esto

// here data.chartype equals "A" 
$("input[value='"+data.chartype+"']").click(); 

pero no funciona. Gracias por leer.

Respuesta

6

que tiene que hacer con el elemento añadido por jQuery UI label. Proveedores:

$("label[for='character_chartype_"+data.chartype+"']").click(); 

Tener una mirada en ella aquí, en un ambiente controlado: http://jsfiddle.net/B3d4z/

+0

@Yi Jiang - Gracias por su respuesta, pero no funcionó. Nada sucede .. – ben

+0

@ben: Creo que sé el problema ... actualizando mi solución ahora. El atributo 'for' de' label' coincide con 'input''s'id', not' value' –

+0

@Yi Jiang - ¡Funciona! ¡Muchas gracias! – ben

1

Creo que estás buscando el evento select.

$("input[value='"+data.chartype+"']").select(); 
+0

creo que funcionaría * * si era sólo 'input' elementos, pero con jQuery UI del' input' que está oculto y el botón recreada a partir de una nueva '' label' y una span', por lo tanto esto no funcionará. Lo he probado;) –

0
<div class="radioVote"> 
<input type="radio" id="radio1" name="radio" value="1"/><label for="radio1">ONE</label> 
<input type="radio" id="radio2" name="radio" value="2"/><label for="radio2">TWO</label> 
</div> 



$(document).ready(function(){ 

     $(".radioVote").buttonset(); 

     $('[for^=radio]').click(function() { 
      var theRadioElement = $(this).prev(); 
      alert("Button" + theRadioElement.attr('id') + " clicked. VALUE:" + theRadioElement.val()); 
     }); 

    }); 

Este ejemplo muestra cómo obtener el ID y valor cuando se hace clic en una etiqueta que pertenece a un jQueryUI radio.

feliz de codificación :)

Cuestiones relacionadas