gpt4 book ai didi

jquery - 如何使多个切换在 jquery 中工作

转载 作者:行者123 更新时间:2023-12-01 04:04:47 24 4
gpt4 key购买 nike

我正在编写jquery脚本,点击addmore按钮后,会附加一个特定的html代码块。每个 block 中都有一个复选框,单击复选框时,html 的某些部分会被隐藏。我的问题是独立隐藏每个。

<script type="text/javascript">
$(document).ready(function(){
$('input[type="checkbox"]').click(function(){

if($(this).attr("value")=="YES"){
$(".box").toggle();
/*$("#ab").html('currently Attending');*/
}
});
});
</script>

<script>
$(document).ready(function(){
$('#addmore').click(function(){
$('#item2').append("<div class='form-group'><label class='col-sm-4 '>Period</label><div class='col-sm-8'><div class='checkbox'><label><input type='checkbox' value='YES' name='currently_attending'>I`m currently attending this course</label></div><div class='row'><div class='col-xs-3'> Month<select class='span2 form-control' required name='from_month'><option value=''>Month</option><option value='Jan'>Jan</option>\
\ <option value='Feb'>Feb</option>\
<option value='March'>March</option>\
<option value='April'>April</option>\
<option value='May'>May</option>\
<option value='June'>June</option>\
<option value='July'>July</option>\
<option value='Aug'>Aug</option>\
<option value='Sept'>Sept</option>\
<option value='Oct'>Oct</option>\
<option value='Nov'>Nov</option>\
<option value='Dec'>Dec</option>\
</select>\
</div>\
<div class='col-xs-3'>\
Year\
<input type='text' class='form-control' placeholder='year' name='from_year' required pattern='[0-9]{4,4}'>\
</div>\
<span class='box'>\
<div class='col-xs-3'>\
Month\
<select class='span2 form-control' name='to_month' >\
<option value=''>Month</option>\
<option value='Jan'>Jan</option>\
<option value='Feb'>Feb</option>\
<option value='March' >March</option>\
<option value='April'>April</option>\
<option value='May'>May</option>\
<option value='June'>June</option>\
<option value='July'>July</option>\
<option value='Aug'>Aug</option>\
<option value='Sept'>Sept</option>\
<option value='Oct'>Oct</option>\
<option value='Nov'>Nov</option>\
<option value='Dec'>Dec</option>\
</select>\
</div>\
<div class='col-xs-3'>\
Year\
<input type='text' class='form-control' placeholder='year' name='to_year' >\
</div>\
</span>\
<div id='ab'></div>\
</div>\
</div>\
</div>\
<div class='cl'></div>\
<div class='form-group'>\
<label class='col-sm-4'>Degree / Course title*</label>\
<div class='col-sm-8'>\
<input type='text' class='form-control ' name='title' required />\
</div>\
</div>\
<div class='cl'></div>\
")});



});
$("#item2").on("click",".delete", function(){
$(this).closest(".form-group").remove();
});
</script>

最佳答案

试试这个-

$(document).ready(function(){
$(document).on('change','input[type="checkbox"]',function(){
var boxElement=$(this).closest('.form-group').find('span.box');
$(this).is(':checked')?boxElement.hide():boxElement.show();

});
});

http://jsfiddle.net/1hsbzkxw/2/

或者切换方式-

$(document).ready(function(){
$(document).on('change','input[type="checkbox"]',function(){
var boxElement=$(this).closest('.form-group').find('span.box');
boxElement.toggle();
});
});

http://jsfiddle.net/1hsbzkxw/3/

说明-

var boxElement=$(this).closest('.form-group').find('span.box');

$(this) - 是触发事件的当前目标,在您的情况下,这是一个复选框。

现在,从 DOM 中的层次结构中,它使用 calss .form-group 找到最直接(最接近)的元素。在您的情况下,此类位于最父级 div.form-group

下一步-现在它搜索带有 box 类的跨度,显然是在 .form-group 类中。

一旦找到该元素,它就会获取该元素的状态,无论该元素是隐藏还是显示在 DOM 上。

如果其隐藏,则切换将显示它,如果其显示,则切换将隐藏它。这就是切换的工作原理。

关于jquery - 如何使多个切换在 jquery 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30994702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com