我对 jQuery 很陌生,所以我遇到了麻烦。
我有根据选择的单选按钮显示或隐藏的 div,但是如果隐藏了 div,我无法弄清楚如何重置所有字段。
div 的日期输入字段带有 php 下拉菜单,在第一个选项中设置为 Null 或“”。在主切换的 div 中还有一些额外的单选按钮(有更多的日期选择/菜单) - 所以一个 div 中的 div 有更多的单选按钮......
最终,我想清除/重置任何隐藏的 div 中的所有内容。
这是我的 Jquery(我快要绝望了,一段时间后开始寻找直接的 javascript - 也不知道我在做什么)。
.desc 类是主要的单选按钮选项,它显示或隐藏具有各种其他选项的两个 div 之一。
$(document).ready(function(){
$("input[name='date']").change(function() {
var test = $(this).val();
$(".desc").hide();
$("#"+test).show();
$("input[type='hidden']").remove();
});
$("input[name='year']").change(function() {
var test = $(this).val();
$(".rnge").hide();
$("#"+test).show();
$("input[type='hidden']").remove();
});
});
这是html(抱歉没有尽快添加。
<div id="formElementLeft">
<h4>Date:</h4>
<p>Is this an exact or an approximate date?</p>
<p><input type="radio" name="date" value="exact"/>Exact</p>
<p><input type="radio" name="date" value="circa"/>Approximate</p>
</div>
<!--if exact show this-->
<div id="exact" class="desc" style="display:none;">
<p>Enter the exact date: <? echo date_picker(); ?><input type="radio" name="bce_ce" value="BCE"/>BCE <input type="radio" name="bce_ce" value="CE"/>CE</p>
</div>
<!--if approximate show this-->
<div id="circa" class="desc" style="display:none;">
<p>Enter a date range.</p>
<p>is this a single year or a range of years?
<p><input type="radio" name="year" value="single"/>Single year</p>
<p><input type="radio" name="year" value="range"/>Range of years</p>
<div id="single" class="rnge" style="display:none;">
<p><? echo year_picker(); ?></p>
<p><? echo month_picker(); ?> (optional)</p></div>
<div id="range" class="rnge" style="display:none;">
<p>Between <? echo year_picker(); ?><input type="radio" name="bce_ce" value="BCE"/>BCE <input type="radio" name="bce_ce" value="CE"/>CE;</p>
<p>and <? echo year_picker(); ?><input type="radio" name="bce_ce" value="BCE"/>BCE <input type="radio" name="bce_ce" value="CE"/>CE</p></div>
</div>
在此先感谢您帮助穷人,让我很困惑。