【问题标题】:How to change div content dynamically如何动态更改 div 内容
【发布时间】:2014-03-04 08:41:46
【问题描述】:

我正在寻找“在不刷新页面的情况下更改 php 中的 div 内容”,我找到了以下内容并应用了它:

<script>
$(document).ready(function(){
$('#wwage').submit(function() 
{
    $.ajax(
    {
        data: $(this).serialize(),
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        success: function(response) 
        { 
            $('#wwritemsg').html(response);
        }
    });
    return false;
});
});
</script>

<?php 
    $i=1;
while ( $i<5) 
{ ?>
       <form action="response.php" method="post" name="swages" id="wwage">
          <input name="wpw<?php echo $i; ?>" type="text" value="<?php echo $foo; ?>" />
       <input name="setfoo" type="submit" value="Submit" />
       <div id="wwritemsg">
          <?php  echo "Default pre-submit text.";?>
       </div>
       $i=$i+1;
    }

此代码将创建 4 个表单,每个表单有 1 个输入框和一个提交按钮。并且替换 div ajax 脚本不适用于选择性 div。它只会覆盖 1。

现在,合乎逻辑的结论是将“i”附加到表单 id 和 div id,创建唯一的,并修改 ajax 代码以接受这些动态创建的 id。但是我缺乏 ajax 知识,我不知道如何使 ajax 函数适用于每种形式。

(我可以使用 php FOR/WHILE 循环(在本例中)生成 4 个 ajax 代码块,但如果我有 100 个表单来应用这些函数,它似乎效率不高。这个循环实际上会创建 100 个每个表单/div 的唯一 id ajax 脚本)

【问题讨论】:

  • 你不需要使用ID选择器,你可以使用类选择器。

标签: php ajax html dynamic replace


【解决方案1】:

关键是使用类而不是 ID。

HTML:

<form action="response.php" method="post" name="swages" class="wwage wwage-<?php echo $i; ?>">

JavaScript:

$('.wwage').submit(function()

您会注意到,在 while 循环期间的 HTML 部分中,它会为每个“唯一”class="wwage wwage-&lt;?php echo $i; ?&gt;"&gt; 的表单回显一个辅助类,如果出于某种原因您想从另一个表单中选择一个表单,您可以$(".wwage-4") 很容易做到这一点,其中 4 表示循环中适当的 $i 值。

【讨论】:

  • 谢谢你们俩!它确实有效。我没有意识到 id/class 的区别。谢谢一堆!
  • @user3282242 感谢您接受我的回答。如果您也赞成我的回答,那将不胜感激!
【解决方案2】:

诀窍是使用类选择器而不是 ID 选择器:

 $('.wwage').submit(function() {
    alert(this.id);
    event.preventDefault();
 }
 ) ;

看看这个小提琴http://jsfiddle.net/kdRY7/

【讨论】:

  • 赞赏。我以前见过这种方法,但我认为它不能动态应用。也感谢小提琴。这是一个非常方便的工具。
猜你喜欢
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 2013-08-09
  • 1970-01-01
相关资源
最近更新 更多