我写了一个代码,用于在单击链接时显示div元素(shareform),并在链接再次单击时隐藏它。我有许多窗体,在这个窗体下将显示这个“分享”链接。如果我只有一个窗体,此代码工作正常。也就是说,最初'shareform'元素是隐藏的,当我点击链接时,它会显示出来,当我再次单击该链接时,'shareform'被隐藏。隐藏/显示div类
如果我有2个窗体,第二个窗体的'shareform'元素最初不会隐藏。这不是$('#shareform')。hide();假设隐藏所有共享链接的表单?
此外,当我点击第二个“共享”链接时,'shareform'显示并隐藏在第一个“共享”链接。我究竟做错了什么?有人能帮我吗?
var flag=0;
$('#shareform').hide();
$(".Share").click(function(){
if(flag==1){
$('#shareform').hide('fast');
flag=0;
}
else{
$('#shareform').show('slow');
flag=1;
return false;
}
});//.Share click
$("#shareform .button").click(function(){
$("#userList option:selected").each(function(){
selected_value[i]=$(this).val();
alert(selected_value[i]);
i++;
});
});
<li id="Share<?php echo $r['Form']['id']?>">
<a href="#" class="Share">Share</a>
<form action="/cake_1_2/forms/share/<?=$formid?>/<?=$userid?>" method="post" name="shareform" id="shareform">
<p>Select the users with whom you want to share the Form</p>
<select id="userList" name="userList" multiple>
<?php foreach($users as $user){ ?>
<option value="<?=$user['User']['name']?>"><?=$user['User']['name'];?></option>
<?php }?>
</select>
<input type="submit" class="button" value="Share"/>
</form>
</li>
编辑: 对不起,其实我想怎么把这个类是指单独的链接只隐藏id元素share_form,不是类“分享”。我也改变share_form分享,它仍然无法正常工作。
编辑2:
好吧,我已经改变了ID类,即类= 'shareform'。现在,shareform类最初是隐藏的。但是,如果我点击“分享”链接,则会为这两个表单显示“shareform”类。
一个简单的建议,以简化一些事情。为什么不设置shareform的CSS来显示:none而不是使用$('#shareform')。隐藏(); 另一个建议,您是否查看过PHP页面的源代码/输出以确认您使用的是正确的ID?切换shareform ID的可见性应该非常简单,您应该可以使用$(“#shareform”)来选择它 – mga911 2009-07-15 07:11:59
根据您的“编辑2”更新,我更新了我的答案。 – mga911 2009-07-15 07:19:43