3个无线电btns - 2个显示 - 1个隐藏输入

时间:2014-12-10 10:07:28

标签: jquery radio-button

我在网站上有多个div.box,如下所示:

<div class="box">
<span><input type="radio" class="srcshow" name="addpost_image_wrapper_source">show</span>
<span><input type="radio" class="srcshow" name="addpost_image_wrapper_source">show</span>
<span><input type="radio" class="srchide" name="addpost_image_wrapper_source">hide</span>
<input type="text">
</div>

我有一个简单的脚本:

$('div.box input:radio.srchide').change(function(){
            $('div.box input:text').fadeOut('fast');
});
$('div.box input:radio.srcshow').change(function(){
            $('div.box input:text').fadeIn('fast');
});

嗯,它正在工作(差不多),但首先我认为它可以更好地编写(因为我很难写脚本),其次当我点击隐藏按钮它隐藏所有文本输入而不是唯一一个在收音机下我点击了。

你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

尝试使用.siblings().parent(),如下所示: -

$('div.box input:radio.srchide').change(function(){
    $(this).parent().siblings('input:text').fadeOut('fast');
});
$('div.box input:radio.srcshow').change(function(){
    $(this).parent().siblings('input:text').fadeIn('fast');
});

Working Demo