单击Clickbox时,我不知道如何显示下一个div(.hide)。
链接到演示:http://jsfiddle.net/fvuqW/
这是我的jQuery代码:
$(function(){
$('.form input[type=checkbox]').each(function()
{
$(this).change(function()
{
if($(this).is(':checked'))
{
$(this).next('div.hide').css('display', 'block');
}
else
{
$(this).next('div.hide').css('display', 'block');
}
});
});
});
答案 0 :(得分:2)
.hide
分隔符不在您的输入附近。您需要先找到输入元素的包含分隔符,然后调用.next()
。我把你的代码简化为:
$('input[type=checkbox]').change(function() {
$(this) /* The checkbox */
.closest('div') /* The input's ancestor divider (".form_checkboxes"). */
.next() /* The divider next to the ancestor divider. */
.toggleClass('hide') /* Toggle the class "hide". */
;
});
答案 1 :(得分:1)
工作演示 http://jsfiddle.net/wjkEy/
我在else代码中对您提供的JS代码display:none
进行了少量更改,您只需使用.show
或.hide
。
这应该符合您的需要:)
<强>代码强>
$(function () {
$('input[type=checkbox]').each(function () {
$(this).change(function () {
if ($(this).is(':checked')) {
$(this).parents('.checkbox').find('.hide').css('display', 'block');
} else {
$(this).parents('.checkbox').find('.hide').css('display', 'none');
}
});
});
});
答案 2 :(得分:1)
试试这个
$(function(){
$('input[type=checkbox]').change(function() {
$(this).closest('div').siblings("div").toggleClass('hide');
});
});
答案 3 :(得分:1)
使用此功能:
$(document).ready(function() {
$('input[type=checkbox]').change(function() {
$('.hide').toggle();
});
});
您甚至可以向其添加过渡。像fadeIn或fadeOut或其他任何与jQueryUI。
更多信息: jQuery UI - EFfects
答案 4 :(得分:0)
这样做:
$(this).closest('.hide').nextAll('.hide').eq(0).show();
答案 5 :(得分:0)
可以像
一样简单$(function () {
$('input[type=checkbox]').change(function () {
$(this).closest('.checkbox').find('.hide').toggle(this.checked)
}).filter(':checked').change();
});
演示:Fiddle
答案 6 :(得分:0)
这会对你有所帮助
$(document).ready(function() {
$('#checkbox').change(function() {
if($(this).is(":checked")) {
// do something...
}
else{
//do something...
}
});
});
看看这个演示 JSFiddle