我对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();
});
如果有人可以帮助我,我会非常感激。谢谢!
答案 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。