隐藏/显示div类

时间:2009-07-15 06:34:31

标签: jquery css

我编写了一个代码,用于在单击链接时显示div元素(shareform),并在再次单击链接时隐藏它。我有很多表格可以显示此链接'分享'。如果我只有一个表单,这个代码工作正常。也就是说,最初隐藏'shareform'元素,当我点击链接时,它会显示出来,当我再次点击链接时,'shareform'就会被隐藏。

如果我有2个表单,则最初不会隐藏第二个表单的'shareform'元素。不是这个$('#shareform')。hide();假设隐藏所有共享链接的表单?

而且,当我点击第二个“共享”链接时,“共享形式”会显示并隐藏第一个“共享”链接。我究竟做错了什么?有人能帮助我吗?

    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',因为类只引用了链接。我也将share_form更改为shareform,它仍然无效。

编辑2:

好的,我已经将id改为class,即class ='shareform'。现在,shareform类最初是隐藏的。但是,如果我单击“共享”链接,则会显示两个表单的“shareform”类。

4 个答案:

答案 0 :(得分:2)

对于隐藏/淡入淡出交互,我建议您使用Effects/toggle功能。

$('#share_form').hide(); 

上面一行,将使用id =“share_form”隐藏元素,即整个表单元素。

答案 1 :(得分:2)

#实际上是'ids'的jQuery简写。要隐藏课程,请将#更改为。,如.Share,然后重试。

答案 2 :(得分:2)

您确定要为不同形式的不同共享div分配不同的ID吗?

你问题中的这一行让我相信你不是:

  

如果我有2个表单,则为Share类   第二个表格没有隐藏   原来。不是这个   $( '#share_form')隐藏()。应该   隐藏所有共享的类   链接?

此外,该行不会隐藏共享div的类,因为您只定位带有“#”符号的特定ID。要使用类共享来定位共享div,您需要使用$('。Share')。hide();

编辑2:两个div都显示,因为您按类别名称定位它们。相反,您希望通过ID单独定位它们。你想要改变这一行$(“。Share”)。点击$(“#Share1”)。点击然后为$(“#Share2”)添加另一个函数。点击。

答案 3 :(得分:0)

我看到的第一件事是“share_form”是下划线,有时jQuery无法选择带下划线的元素,请尝试使用“share-form”。