2012-03-22 6 views
-2

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

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 код, который скрыть/показать дивы является:

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

Так в чем ваш вопрос? – Sparky

+1

Если вы не слушаете событие, когда вход меняется, а затем посмотрите, имеет ли значение length длина 5? ans установили его для отображения: block? –

+0

хорошо, мой код, похоже, не работает – gek

ответ

0

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

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

Скрипка - here.

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

После того как ваш вопрос был обновлен, я обновил свою скрипкуhere.

+1

То, что я искал, но, похоже, не работает. Моя страница содержит данные в некоторых из этих 5 полей внутри формы, но div показывает скрытый – gek

+0

. Переключить ссылку, я не думаю, что нужно изменить, так как она сейчас разбивается. Я думаю, что первый код, который вы отправили без него, это имело смысл для меня, но, к сожалению, хотя поля ввода были заполнены некоторыми значениями, div по-прежнему скрыт ... – gek

+0

Это работает http://jsfiddle.net/VBS4E/6 /. –

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