Скрыть / показать div на основе введенной формы ввода - PullRequest
0 голосов
/ 22 марта 2012

У меня есть элемент расширенного поиска, в котором есть 5 полей ввода формы. Этот div скрыт по умолчанию и является частью формы поиска. Когда пользователь возвращается на эту страницу со страницы результатов, я хочу, чтобы div отображал его, предполагая, что любое из 5 полей заполнено.

HTML-код

 <a class="toggle-link" onclick="ShowDiv('Adv');">+ show advanced fields</a>

  <div id="Adv" class="slide hidden">
    <form>
     <input type="text" name="first_name">
     <input type="text" name="last_name">
     <input type="text" name="street">
     <input type="text" name="town">
     <input type="text" name="country">
    </form>
    </div>

<a onclick="ShowDiv('Basic');">- hide advanced fields</a> 

Существующий код jQuery, который скрывает / показывает div:

function HideDiv() {
         $('.slide').hide();
     }
     function ShowDiv(ctrl) {
         HideDiv();
         $('#' + ctrl).show();
     }
     ShowDiv('Basic');  

1 Ответ

0 голосов
/ 22 марта 2012

Если вы хотите проверять входные элементы вашей формы при загрузке страницы, которые содержатся в div (с идентификатором 'Adv'), вам следует запустить проверку внутри события готовности документа

$(function(){
    $("div#Adv input").each(function(){
        if($(this).val()!='')
           $(this).parent().parent().show(); // 1st parent is form, 2nd parent is Adv div 
           return;                       
    });
});

Скрипка здесь .

Это будет работать, только если ваш какой-либо ввод заполнен (содержит данные) во время загрузки страницы.

После вашего вопросаобновлен Я обновил свою скрипку здесь .

...