有一个微调代码,其中单击了一个值,该值存储在 js 变量和通过 php 生成的链接中。
<script>function qty() {return document.getElementById('qty').getAttribute('aria-valuenow'); }</script><div class="mv-spinner-style-2"> <input id="qty" type="text" name="test138" value="1" onclick="qty()" class="qwe"/></div>
<button type="button"onclick="window.location.href='<?= Url::toRoute(['/controller/action','id'=>$model->id,'q'=>$тут_переменная])?>'"
class="qwe"></button>
您需要以某种方式更新生成的 url。(即数量)...
最初,问题是我现在有一个循环,其中有一个变量,每次都会覆盖这个变量,因此,当按下按钮时,会插入最后一个值的 ID。这就是我开始通过php形成请求的原因。也许您可以避免覆盖负责 id 的变量并在循环的每次迭代中创建一个?这是代码:
<?php foreach ($q as $model): ?>
<script>
function qty() {
return document.getElementById('qty').getAttribute('aria-valuenow');
}
</script>
<script>
var mid = "<?php echo $model->id ?>";
</script>
<button type="button"
onclick="window.location.href='/cart/create?id='+mid+'&q='+qty()"
class="mv-btn mv-btn-style-3 btn-1-h-50 responsive-btn-1-type-3 btn-add-to-cart">
<span class="btn-inner">
<i class="btn-icon fa fa-cart-plus"></i>
<span class="btn-text"></span>
</span>
</button>
<?php endforeach ?>
在 php 循环中生成 js 块几乎总是一个坏主意......
感谢您的帮助vp_arth。您需要在微调器上放置 ID,并通过向其添加产品 ID 来升级获取 qty() 数量的功能,以便它将网格中所需微调器的数量提供给按钮链接。解决方案如下所示: