2013-08-02 6 views
1

Я не очень хорошо разбираюсь в jQuery, поэтому у меня есть некоторые проблемы, которые я не могу обойти в проекте. Я создаю регистрационную форму с BuddyPress по этому адресу: http://medsimples.com/registrar/ (извините за португальский язык, я проведу вас через).jQuery hide issue в регистрационной форме

В последнем выпадающем меню у меня есть поле «Eu sou» (я), которое имеет значения «Paciente» (пациент), «Médico» (врач) и «Estudante» (ученик).

Основываясь на этом, я использую следующий код jQuery для отображения/скрытия дополнительной информации о форме, если пользователи являются врачами или студентами. Проблема в том, что когда мы выбираем врача, например, все формы скрываются, и появляется медицинский div. Я не хочу, чтобы вся форма скрывалась, и я не знаю, что пропущено.

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

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

Если кто-то может мне помочь, я был бы очень признателен. Благодаря!

ответ

1

Попробуйте дать общий класс обе дивы лозы идентификатор в Estudante и медико- как: 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)», поэтому Divico Medico никогда не выбирается.

+0

Большое спасибо, Овидиу! Это решило мою проблему. : D –

Смежные вопросы