2010-08-29 8 views
12

Ich habe einige Radio-ButtonsWie kann ich einen Klick auf ein jQuery UI-Optionsfeld simulieren?

<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> 

, dass ich wiederum in jQuery UI-Tasten

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

Welche Codezeile kann ich einen Klick auf eine der Schaltflächen zu simulieren verwenden? Ich habe es versucht

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

aber es funktioniert nicht. Danke fürs Lesen.

Antwort

6

Sie haben es mit dem label Element von jQuery UI hinzugefügt zu tun. Versuchen:

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

Werfen Sie einen Blick auf mich hier, in einer kontrollierten Umgebung: http://jsfiddle.net/B3d4z/

+0

@Yi Jiang - Danke für Ihre Antwort, aber es hat nicht funktioniert. Nichts passiert .. – ben

+0

@ben: Ich denke, ich kenne das Problem ... Aktualisierung meiner Lösung jetzt. Das 'Label's 'for' Attribut entspricht der' input''s 'id', nicht' value' –

+0

@Yi Jiang - Es funktioniert! Danke vielmals! – ben

1

Ich glaube, Sie suchen nach der select Veranstaltung.

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

glaube ich, dass * funktionieren würde, wenn * es nur 'input' Elemente ist, aber mit jQuery UI der' input' versteckt und die neu-Taste von einem neuen 'label' und einem' span ', also wird das nicht funktionieren. Ich habe es getestet;) –

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()); 
     }); 

    }); 

Dieses Beispiel zeigt, wie die ID und Wert erhalten, wenn Sie auf einem Etikett klicken, die zu einem jQueryUI gehört Radio.

Glücklich Codierung :)

Verwandte Themen