2014-12-31 41 views
0

所以我建立一个评论系统,并装载了一堆的评论页面,则已经产生的每一个回复框。以下是我的回复框,但每个页面上有许多相同的回复框。如您所见,第一部分是包含回复框的切换(显示/隐藏)的div。添加一个可扩展的文本框,每一个岗位

我张贴,因为我不能得到的回复切换火灾。

这里是我的html:

<div class="col-sm-offset-1 col-sm-11"> 
    <a href="#" id="reply-toggle"> 
     <span class="text">Reply</span> 
     <i class="toggle-icon fa fa-angle-down"></i> 
    </a> 
</div> 
<div id="reply-div" class="col-sm-12"> 
    <form class="form-horizontal" role="form" accept-charset='UTF-8' data-parsley-validate novalidate> 
     <fieldset> 
      <div class="form-group"> 
       <label for="ticket-message" class="col-sm-1 control-label"></label> 
       <div class="col-sm-11"> 
        <textarea class="form-control" name="post-body" id="new_post_textarea" rows="5" cols="30" placeholder="Try to be as specific as possible when posting!"></textarea> 
       </div> 
      </div> 
      <div class="form-group"> 
       <div class="col-sm-offset-1 col-sm-11"> 
        <button id="submit_reply_button" type="submit" class="btn btn-primary btn-block">Submit Reply</span></button> 
       </div> 
      </div> 
     </fieldset> 
    </form> 
</div> 

这里是我的jQuery:

$("#reply-toggle a").click(function() { 
       alert("running"); 
       $('#reply-div').slideToggle("slow"); 
      )}; 

我承认我不是在jQuery的非常好,所以我相信这是简单的东西,但是,我也认识到我将不得不使用jQuery(最接近)来切换与正确的注释线程相关的回复框。我还没有走到这一步,但如果我能得到一些关于这方面的指导,我将不胜感激。

真诚地感谢您的帮助!

回答

1
$(document).on('click', '#reply-toggle', function() { 
    $(this).closest('.col-sm-offset-1').next('#reply-div').slideToggle('slow'); 
}); 

编辑:添加了一个周期到COL-SM-偏移-1类

+0

谢谢一堆。它现在发射,但不会切换窗口。我非常有信心,我可以弄清楚这一部分,但是......如果我得到它,我会让你知道,如果有必要,你会编辑你的答案。 – ambe5960

+0

嘿,只需要在col-sm-offset-1类之前的一段时间。再次感谢! – ambe5960

+0

你是对的,对不起,错误 – kapantzak

0

您的链接选择器不匹配任何内容。 $("#reply-toggle a")将返回所有<a>标签,其父母ID为reply-toggle

你应该改变这种简单$("#reply-toggle")

编辑:顺便说一句,你说你有这些回复按钮多 - 我会强烈建议为浏览器的期望每页一个特定ID只有一个元素的ID选择您要改变成一个类选择。

0

"#reply-toggle a"查找其ID的 “回复肘节” 一个元件内<a>元件。也许$("a#reply-toggle")会解决你的射击问题?

您可能希望为每个回复切换和div生成一个特定的ID,例如reply-toggle-1reply-div-1。但是,这种方法需要为每个切换定义一个click()。改用类别声明(即不是id="reply-toggle",而是class="reply-toggle")。

+0

感谢您的回复。我从来没有做过这样的事情,但我最初认为这种可能性,但认为这可能会与可能的一堆评论相当混乱。为什么在这种情况下班级更好? – ambe5960

+0

ID应分配给单个元素。一个班可以出现多次,如你所愿。如果你想访问多个元素,你可以用一行代码'$(“。my-element”)'而不是'$(“#my-element-1”)','$(“#my -element-2“)','$(”#my-element-3“)etc'。 – jsruok