在我的 HTML 页面上,我有几个表单。
他们都遵循一个模式:
- 每个表单都在一个名为的 div 中
"form-optional"
- 在这个 DIV 里面是一个复选框,它被包装在类中
"form-enable"
- 实际形式有一个类
"form-main"
。
我想使用 Jquery,这样当用户点击复选框时,“form-main”就会隐藏起来。但是,只有与单击的复选框属于同一“表单可选”div 的表单应该被隐藏。所有其他形式应保持不变。
我知道您可以使用 Jquery 命令.parent()来定位类的父类,然后将其与find()结合以在该 parent() 中查找特定类。但是,当我使用这些命令时,它似乎不起作用。
这是我的jQuery:
// JavaScript Document
(function($)
{
$(document).ready(function(){
$(".form-optional .form-enable input").click(function(){
if(($this).attr('checked')){
$(this).parent().find('.form-main').fadeIn();
}
else
{
$(this).parent().find('.form-main').fadeOut();
}
});
});
})(jQuery);
这是我的 HTML:
<div class="form-optional">
<p class="form-enable">
<input name="personaldetails" type="checkbox" value="">No Personal Details
</p>
<p class="form-explanation">If this product is a gift, you can tick the box, to omit the personal details</p>
<form name="frmPersonal" class="form-main">
Name:
<input type="text" name="ordPersonalInfo1" value="" onkeyup="Restrict_Chars(this.form.ordPersonalInfo1,30);">
</form>
</div>
<div class="form-optional">
<p class="form-enable">
<input name="friendsdetails" type="checkbox" value="">No Friends Details
</p>
<p class="form-explanation">If you have no friends, you can tick the box to omit friends</p>
<form name="frmPersonal" class="form-main">
Name:
<input type="text" name="ordPersonalInfo1" value="" onkeyup="Restrict_Chars(this.form.ordPersonalInfo1,30);">
</form>
</div>