【问题标题】:How to use one class in jquery to php/html foreach loop?如何在 jquery 中使用一个类到 php/html foreach 循环?
【发布时间】:2017-02-25 21:51:45
【问题描述】:

我的标题很混乱,但我的问题是..

有这个脚本插件,该插件将创建一个气泡状的进度条找到here

在脚本中我有$('.demo').waterbubble();

现在有一个 foreach 循环是..

<?php foreach($bins as $binArray): ?>
  <div class="row">
    <?php foreach ($binArray as $bin):?>
      <div class="col-xs-8">
        <canvas class="demo"></canvas>
      </div>
    <?php endforeach;?>
  </div>
<?php endforeach; ?>

所以在这段代码中,它应该根据$bin 变量迭代画布并显示气泡。我测试了 6 次迭代,所以它应该显示 6 个气泡,但它只显示一个气泡,而其他的没有显示任何气泡。我检查了代码,&lt;canvas class="demo"&gt;&lt;/canvas&gt; 被正确迭代,但由于某种原因没有显示任何内容。有谁知道这是为什么?有没有办法使用它或解决这个问题?非常感谢!

【问题讨论】:

  • 给每个人一个唯一的 id,并为每个人调用 waterbubble

标签: php jquery html canvas


【解决方案1】:

我猜这是脚本的问题。您最好尝试使用唯一 ID 来初始化每个水泡。

<?php foreach($bins as $binArray): ?>
  <div class="row">
    <?php foreach ($binArray as $bin):?>
      <div class="col-xs-8">
        <canvas id="demo<?= $bin[number] ?>"></canvas>
      </div>
      <script>
        $('#demo<?= $bin[number] ?>').waterbubble();
      </script>
    <?php endforeach;?>
  </div>
<?php endforeach; ?>

【讨论】:

  • 然后$('#demo1').waterbubble({txt: 'Default',}); $('#demo2').waterbubble({waterColor: 'rgba(0, 0, 0, 1)',txt: 'jQuery'}); $('#demo3').waterbubble({txt: '50%',});
  • 这个不错。它有效,但我觉得我只是为了让它工作而“入侵”它?我使用的是 cake php,所以我的脚本像 &lt;?php $scriptBlock = &lt;&lt;&lt;JS $(".demo&lt;?= $bin-&gt;id ?&gt;").each(function() { waterbubble(); }); JS; $this-&gt;Html-&gt;scriptBlock($scriptBlock, ['block' =&gt; true]); ?&gt; 一样在顶部,而我的 php/html 在下面。知道如何将 $bin 变量从 foreach 循环传递到上面的脚本吗?
  • @jeeeee 我不知道,个人...不熟悉 CakePHP。那个 scriptBlock 从哪里得到输出到页面上?
  • 好吧,我还是新手,但要解释一下我的意思。我怎样才能在脚本中对$bins as $binArray 然后$binArray as $bin 执行相同的循环,以便我可以获得 $bin[number] 的值并使用它。
  • 实际上,既然您提到了两个循环,我意识到我的示例可能无法正常工作,因为它会在查看 $bins 时多次输出相同的 ID。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-26
相关资源
最近更新 更多