【发布时间】:2011-12-24 19:05:22
【问题描述】:
我的页面显示包含帖子的 div。 div 具有以下格式(您看到 # 是我数据库中的 postID):
<div id="post_#>
<div id="post_#_inside">
<div id="like_#">
</div>
<div id="dislike_#">
</div>
</div>
</div>
每个 post_# 还包含一个喜欢或不喜欢的类别。
我还有两个复选框。他们的目标是切换所有喜欢的帖子或所有不喜欢的帖子。
<form name="myform" action="" method="post">
<fieldset>
<p class="left"><input id="show_likes" name="show_likes" type="checkbox" value="1" class="choice"/>
<label for="b1">Hide Liked</label></p>
<p class="right"><input id="show_dislikes" name="show_dislikes" type="checkbox" value="1" class="choice"/>
<label for="b1">Hide Disliked</label></p>
</fieldset>
</form>
我的问题是我拥有的 jQuery 隐藏了所有帖子,无论它们的类别如何。显然,我只想要隐藏喜欢的复选框来隐藏带有 class="like" 的帖子和隐藏不喜欢的复选框来隐藏只有 class="dislike" 的帖子。此外,当我再次单击复选框时,帖子 div 确实返回,但 div 内的内容仍然隐藏(我得到的 div 有背景但没有文字)。
我的 jQuery:
//When Hide Liked checkbox clicked, toggle all liked contests.
$("input[name*='show_likes']").click(function() {
if ($('[id^=post_]').is('.like')) {
$('[id^=post_]').toggle();
}
});
//When Hide Disliked checkbox clicked, toggle all disliked contests.
$("input[name*='show_dislikes']").click(function() {
if ($('[id^=post_]').is('.dislike')) {
$('[id^=post_]').toggle();
}
我做错了什么? });
【问题讨论】: