是否有更好的替代jQuery toggle()来显示/隐藏文本?

时间:2013-09-11 21:57:52

标签: jquery jquery-ui

我正在尝试在表单中显示/隐藏具有特定.class的文本扩展名。通过选择具有正确.class的rodio,扩展应该显示。在表单中选择任何其他选项时,应该隐藏扩展名。我尝试使用jQuery toggle()函数,但是通过在任何一个无线电上再次点击,无论是否选择了扩展 - 再次显示或隐藏。

仅在选择了.class的广播时才会显示:

  

span class =“span_home_2”

我试过的toggle()是这样的:

jQuery的:

$(document).ready(function(){
    $("input").click(function(){
        $(".span_home_2").toggle();
    });
});

HTML:

<form class="banner_location_box">
    <label class="label_head">
        <?php echo $lang ['select_page']; ?>
    </label>
    <br/>
    <label class="select_page">
        <input type="radio" class="select_location" name="page_id" value="1" checked="checked"/>
        <span><?php echo $lang ['home']; ?><span class="span_home_2">(<?php echo $lang ['available_only']; ?>)</span></span>
    </label>
    <br/>
    <label class="select_page">
        <input type="radio" class="select_location" name="page_id" value="2"/>
        <span><?php echo $lang ['business']; ?></span>
    </label>
    <br/>
    <label class="select_page">
        <input type="radio" class="select_location" name="page_id" value="3"/>
        <span><?php echo $lang ['jobs']; ?></span>
    </label>
    <br/>
</form>

有更好的方法吗?

3 个答案:

答案 0 :(得分:0)

试试这个:

$(document).ready(function () {
    $("input").click(function () {
        $(this).parent().find("span").toggle();
    });
});

演示here

另一种选择:

答案 1 :(得分:0)

改变这个:

$("input").click(function(){
    $("span").toggle();
});

对此:

$("input").click(function(){
    $("span.span_home_2").toggle();
});

答案 2 :(得分:0)

$(document).ready(function(){
     $("input").click(function(){
          $(".span_home_2").toggle();
     });
});