jQuery以寄存器形式隐藏问题

时间:2013-08-02 00:39:11

标签: javascript jquery wordpress buddypress

我对jQuery不太满意,所以我遇到了一些麻烦,我无法绕过项目。 我正在这个网址上创建一个与BuddyPress的注册表:http://medsimples.com/registrar/(对不起葡萄牙语,我会引导你完成)。

在最后一个下拉菜单中,我有“Eu sou”(我是)字段,其中包含“Paciente”(患者),“Médico”(医生)和“Estudante”(学生)值。

基于此,如果用户是医生或学生,我使用以下jQuery代码来显示/隐藏表单上的其他信息。问题是,当我们选择Physician时,所有表单隐藏和Medical div都显示出来。我不希望隐藏整个表格,也不知道错过了什么。

$(document).ready(function(){
    $('#Estudante').hide();
    $('#Medico').hide();
    $("#field_5").change(function(){
        $("#" + this.value).show().siblings().hide();
    });

    $("#field_5").change();
});

如果有人可以帮助我,我会非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用id的Estudante和Medico为这两个div提供一个公共类:class="additional-info"

然后你应该尝试类似的事情:

$(document).ready(function(){
    $('.additional-info').hide();
    $("#field_5").change(function(){
        $('.additional-info').hide(); // Just in Case one of the 2 div's is showing
        $("#" + $(this).val()).show();
    });
});

此外,您应该小心选择,因为Medico的值有一个额外的字符串“(a)”,因此永远不会选择Medico div。