我对包含表单的div有以下标记。该表格有一个基本的搜索div和高级div。根据输入字段中包含的任何值显示隐藏的div
<div class="form">
<form>
<input type="text" name="first_name">
<input type="text" name="last_name">
<div class="Basic" class="slide">
<input type="text" name="location">
</div>
<a class="toggle-link" onclick="ShowDiv('Adv');">+ show advanced fields</a>
<div id="Adv" class="slide hidden">
<input type="text" name="first_name2">
<input type="text" name="last_name2">
<input type="text" name="street">
<input type="text" name="town">
<input type="text" name="country">
</div>
</form>
<a onclick="ShowDiv('Basic');">- hide advanced fields</a>
</div>
隐藏/显示是基于运作上下面的脚本:
function HideDiv() {
$('.slide').hide();
}
function ShowDiv(ctrl) {
HideDiv();
$('#' + ctrl).show();
}
ShowDiv('Basic');
我的问题(这是基于现有问题的后续票,我从来没有设法去上班)是我想要一个用户,当他返回到这个搜索表单时,如果他首先使用了高级搜索表单,那么他将被展示高级div。因此,如果任何输入字段包含任何数据值,则当用户返回页面时div应该打开。
到目前为止我有这个代码,但它不起作用。
$(document).ready(function() {
$(function(){
$("div#Adv input").each(function(){
if($(this).val()!='')
$(this).parent().parent().show();
return;
});
});
这似乎是工作。现在唯一的问题是,当显示div时,+ show advanced fields也是如此。需要在你的代码中添加什么,所以当div显示时,类=“toggle-link”隐藏起来 – gek 2012-03-23 10:57:07
@ aa1。我将它添加到答案中。 – gdoron 2012-03-23 12:26:15