使用Jquery多个值?

时间:2010-07-29 12:40:45

标签: php jquery

我正在尝试为每个评论显示一个回复表单,但我使用Jquery隐藏表单,我想知道如何获取注释ID并将其添加到Jquery,以便它可以隐藏每个回复表单并显示正确的回复正确形成而不是显示错误的回复表格?

例如,form_show_hide1, form_show_hide2, form_show_hide3, form_show_hide4等等。

我使用PHP和JQuery。

这是Jquery代码。

  $(function(){
      $('a#form_show_hide').click(function(){
        $('#form_container').slideToggle('slow');
        // prevent default action
        return false;
      });
    });

这是HTML代码。注意我将ID更改为类。

<a href="#" title="Reply Link" class="form_show_hide">Reply</a>


<form method="post" action="' .htmlentities($_SERVER['REQUEST_URI']) . '" class="form_container>
    <fieldset>
        <textarea rows="6" cols="70"></textarea>
        <input type="submit" name="reply" value="Submit" />
        <input type="hidden"  name="id" value="' . urlencode($comment_id) . '"  />
    </fieldset>
</form>

2 个答案:

答案 0 :(得分:0)

$("SELECT_YOUR_FORMS").each(function(index) {
    $(this).DO_YOUR_FUNCTION();
  });

答案 1 :(得分:0)

您可以通过使用.next()相对地找到.form_container元素来完成此操作:

$(function(){
  $('a.form_show_hide').click(function(){
    $(this).next('.form_container').slideToggle('slow');
    return false;
  });
});

你的代码中有间距但是让我怀疑。如果他们是兄弟姐妹而不是立即兄弟姐妹使用.nextAll('.form_container:first')而不是.next()来电。

如果他们不是兄弟姐妹但是在某种父容器中,您可以识别,例如:

<div class="container">
  <div>
    <a href="#" title="Reply Link" class="form_show_hide">Reply</a>
  </div>
  <form method="post" action="' .htmlentities($_SERVER['REQUEST_URI']) . '" class="form_container>
    <fieldset>
      <textarea rows="6" cols="70"></textarea>
      <input type="submit" name="reply" value="Submit" />
      <input type="hidden"  name="id" value="' . urlencode($comment_id) . '"  />
    </fieldset>
  </form>
</div>

然后转到该容器并退回,用.closest('.container').find('.form_container')替换.next()来电。 .closest()只需要一个选择器来正确识别父容器。