【问题标题】:how to add effect 'hide ("slow")' to div inside a PHP while如何在PHP中添加效果'隐藏(“慢”)'到div
【发布时间】:2013-08-15 15:43:53
【问题描述】:

我有一个在 PHP 中名为“formscontainer”的 div 中重复多次的表单,而我想让一个表单提交,它们各自的 div 消失了效果隐藏(“慢”)

这里是示例代码

<script type="text/javascript">
 $(function() {
      $("form").each(function() {
          $(this).validate( {
              submitHandler: function(formbeingsubmitted) {
                  $.post('process.php', $(formbeingsubmitted).serialize(), function(data) {
                      $('#results').html(data);
                      $ (formbeingsubmitted).hide("slow");
                  });
              }
          });
      });
  });
</script>
</head>
<body>
<?php do { ?>
<div id="formscontainer">
  <form method="post" id="form1">
    <label for="name" id="name_label">form </label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>

    <input type="submit" name="submit" value="SEND"> 
  </form>
</div>
<div id="formscontainer">
  <form method="post" id="form1">
    <label for="name" id="name_label">form </label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>

    <input type="submit" name="submit" value="SEND"> 
  </form>
</div>
<div id="formscontainer">
  <form method="post" id="form1">
    <label for="name" id="name_label">form </label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>

    <input type="submit" name="submit" value="SEND"> 
  </form>
</div>
<?php } while ($row_var = mysql_fetch_assoc($var)); ?>
<div id="results"></div>
</body>
</html>

【问题讨论】:

  • 您不能有重复的 id 名称。
  • (1) never 多次使​​用同一个 ID,这将不起作用,并且 (2) “desaparesca” 是西班牙语 afaik,为什么不“消失”?
  • 没关系,但是功能太臭了我想用你在里面选择的形式给div添加效果
  • id 和form 一样,div 在一个土豆hile 里面循环重复了好几次
  • 示例代码看起来不错,某些功能运行良好,显示的隐藏效果也运行良好,但您看到专用于表单提交的围栏希望此专用于表单的 div

标签: jquery jquery-plugins jquery-effects


【解决方案1】:
$(function () {
    $("form").each(function () {
        var par_div = $(this).closest('div'); //finding the closest div
        $(this).validate({
            submitHandler: function (formbeingsubmitted) {
                $.post('process.php', $(formbeingsubmitted).serialize(), function (data) {
                    $('#results').html(data);
                    $(formbeingsubmitted).hide("slow");
                    par_div.hide('slow'); //hide the div
                });
            }
        });
    });
});

你也可以使用

$(this).parents('div'); 而不是$(this).closest('div');

但是这个$(this).closest('div'); 更快

【讨论】:

  • 好朋友,完美运行,但是有一个问题我这里显示的代码只是一个例子,实际页面有很多div标签,我需要指定要授予功能的div,您希望授予 div 的示例是
  • 如果你有&lt;div&gt;&lt;form&gt;....&lt;/form&gt;&lt;/div&gt;,它会很好用,这意味着如果你将&lt;form&gt;包含在&lt;div&gt;中并且你想隐藏&lt;form&gt;的父&lt;div&gt;
  • 如果你想使用$(this).parents('div');&lt;div&gt;&lt;form&gt;&lt;div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;
  • 如何使用 $ (this) parents ('div')。 ?很抱歉我在这方面没有太多经验
  • 嘿伙计我还有一个问题stackoverflow.com/questions/18257242/…
猜你喜欢
相关资源
最近更新 更多
热门标签