使用jQuery为多个Radio组动态更改单选按钮更改上的文本

时间:2010-07-12 14:45:28

标签: jquery jquery-selectors

我正在开发一个Rails应用程序,但我遇到了一个我似乎无法弄清楚的问题。

我正在使用jQueryUI Accordion,我正在通过循环遍历我所拥有的数组来构建必需的结构。

手风琴需要的HTML结构如下:

<div id="accordion">
    <h3><a href="#">First header</a></h3>
    <div>First content</div>     <h3><a href="#">Second header</a></h3>
    <div>Second content</div>
</div>

所以我正在做的是在每个内容div中创建一个唯一的无线电组。我想这样做,当我在其中一个内容div中选择一个无线电选项时,h3标题中的文本将更改为所选的无线电选项的值。

我想为此使用jQuery,但我对如何使用感到困惑;具体来说,我很难理解使用什么选择器以及如何引用无线电组div“属于”的h3标题兄弟。我也很困惑如何处理整个页面上的11个不同的无线电组,每个组都在一个内容div中。

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,这就是你想要做的......

$('input:radio').change(function(){
        $(this).parent().prev('h3').html($(this).val());
    });

所以每当'input:radio'改变时,jquery将取$(this)(你点击的单选按钮),转到它的父div(因此.parent()),找到前面的第一个h3(是.prev('h3')),然后将html更改为$(this).val(),这是您单击的单选按钮的值。

请注意,如果您在输入周围添加了更多或更多内容,则必须添加另一个.parent()以再增加一个级别。

你也可以将.html()改为你想要的...... html(),text()等等。