只需单击Jquery即可刷新2个div

时间:2015-04-16 18:14:47

标签: javascript jquery html css

好, 所以我想刷新2个div只有1个点击1个按钮而不实际刷新页面本身。

我已尝试过以下

HTML:

<div id="main">
    <a>
        <div id="dialogue" class="dialogue">
            <b class="dialogue">Click to continue</b>
        </div>
    </a>
</div>

Jquery的:

<script>
$(document).ready(function() { /// Wait till page is loaded

    $('#dialogue').click(function(){

        $('#main').load('dialogue.php?test&count=<?php echo $count ?>', function() {
            /// can add another function here
        });

    });

    $('.dialogue').click(function(){

        $('#head').load('dialogue.php?head', function() {
            /// can add another function here
        });

    });
});
</script>

这在HTML中:<div id="dialogue" class="dialogue"> 需要激活2个div刷新,我做了这个,所以我可以挂两件事。 以下脚本只是错误,只能刷新一次而不是几次,请帮助。

2 个答案:

答案 0 :(得分:3)

您可以在单击事件中调用多个函数,如下所示:

<script>
  $(document).ready(function() {

    // click event
    $('#dialogue').click(function(){

      // refresh first element
      $('#main').load('dialogue.php?test&count=<?php echo $count ?>', function() {
        // callback
      });

      // refresh second element
      $('#head').load('dialogue.php?head', function() {
        // callback
      });

    });
  });
</script>

由于#dialogue#main的孩子,并且您在点击时替换#main的内容,点击后#dialogue按钮就会消失。


一个小注:您的HTML无效。您不能在<div>(内联)中包含<a>元素(块级别)。请尝试使用此标记:

<div id="main">
  <a id="dialogue" class="button-dialogue">
    <strong>Click to continue</strong>
  </a>
</div>

看起来HTML5允许<a>元素现在包装许多其他东西。感谢Mathletics进行更正。

答案 1 :(得分:2)

而不是:

$('#dialogue').click(function(){

您可以使用:

$('#main').on('click', '.dialog', function(){

因此clic的监听器附加到父级,并将处理其中添加的新“.dialog”元素。