0

我正在尝试在表单内显示/隐藏带有特定内容的文本扩展.class。通过选择正确的rodio,.class扩展应该显示出来。在表单中选择任何其他选项时,扩展应该隐藏。我使用 jQuery toggle() 函数尝试了它,但是通过在任何收音机上再次单击扩展 - 无论是否选中 - 都会再次显示或隐藏。

它应该仅在选择了带有此.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>

有没有更好的办法?

4

1 回答 1

1

正如 bmorgan21 建议的那样,您希望更具体地了解您的逻辑。如果您可以向应该分别显示/隐藏元素的输入添加显示和隐藏类,则可以执行以下操作:

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

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

看看这个小提琴,看看这是否是你想要的:http: //jsfiddle.net/2Wsns/

于 2013-09-12T19:14:59.740 回答