2010-07-23 87 views
0
<div id="formheadtop"> 
<input class="checkbox" type="checkbox" /></div><div class="formbody"></div> 
<div id="formheadtop"> 
<input class="checkbox" type="checkbox" /></div><div class="formbody"></div> 
<div id="formheadtop"><input class="checkbox" type="checkbox" /></div><div class="formbody"></div> 



$(function() { $('input:checkbox').live('click', function() { 
if ($(this).attr('checked') == true) 
{ 
    $(this).nextAll('.formbody:first').fadeIn(); 
} 
else 
{ 
$('.formbody').fadeOut(); 
}; 
}); 

的代碼不能正常工作。我只想淡出下一個div.formody。的jQuery淡出

回答

2

首先,我們需要將id="formheadtop"更改爲class="formheadtop",因爲ID必須是唯一的。然後你可以使用此代碼進出DIV s到褪色:

jQuery的

$(document).ready(function(){ 
    $('.formheadtop :checkbox').live('click', function() { 
    if ($(this).is(':checked')) { 
     $(this).parent().next('.formbody').fadeIn(); 
    } else { 
     $(this).parent().next('.formbody').fadeOut(); 
    }; 
    }); 
}); 

你可以縮短$(this).parent().next('.formbody')$(this).parent().next().fadeIn(),但我把選擇器,以防萬一你曾經想放入一些東西。

HTML

<div class="formheadtop"><input class="checkbox" type="checkbox" checked="checked" /></div> 
<div class="formbody">test</div> 
<div class="formheadtop"><input class="checkbox" type="checkbox" checked="checked" /></div> 
<div class="formbody">test</div> 
<div class="formheadtop"><input class="checkbox" type="checkbox" checked="checked" /></div> 
<div class="formbody">test</div> 

我做了檢查通過默認的複選框。如果沒有,你需要隱藏在formbody標籤的內容。

這裏的code in action

+0

令人印象深刻的答案 - 看起來像很多工作,代碼示例在行動和所有。不錯的工作! – kander 2010-07-23 23:31:24

+0

謝謝。它沒有那麼多時間。希望它會有用。 :) – 2010-07-23 23:46:25