【问题标题】:Get values from php loop and multiple those values on keyup从 php 循环中获取值并在 keyup 上获取多个值
【发布时间】:2016-10-22 09:02:23
【问题描述】:

我用两个文本框和一个结果列动态创建了一个 PHP 循环。

我需要的是,只需将输入前两个框的值乘以并在其附近的结果框中显示结果。

PHP 循环

<?php
 $sql=$db->query("SELECT * FROM calc");
 foreach($sql as $row)
 {
  ?>
<div class="calc">
 <input type="text" id="txt1id<?= $row['id'] ?>" onkeyup="multiple()">
 <input type="text" id="txt2id<?= $row['id'] ?>" onkeyup="multiple()">
 <input type="text" id="resultid<?= $row['id'] ?>" title="Result shows here automatically">
</div>
<?php } ?> // loop ends here.

脚本是

<script>
 function multiple()
 { 
    // how to get two different variables like this with different id to multiple ?
    var firstBox = parseInt(document.getElementById(firstid).value);
    var secondBox = parseInt(document.getElementById(secondid).value);


 }
</script>

【问题讨论】:

  • 哪里需要 php 值?或者php循环在哪里?
  • div class='calc' 是由 php 循环创建的,php 表包含其他值但不包括在这里,这里的 ids 是从数据库中获取的..如txt1id1,txt2id1 等。
  • 你也可以分享php代码吗?
  • 请检查编辑

标签: javascript php foreach


【解决方案1】:

像这样将行 id 传递给函数

<div class="calc">
 <input type="text" id="txt1id<?= $row['id'] ?>" onkeyup="multiple(<?= $row['id'] ?>)">
 <input type="text" id="txt2id<?= $row['id'] ?>" onkeyup="multiple(<?= $row['id'] ?>)">
 <input type="text" id="resultid<?= $row['id'] ?>" title="Result shows here automatically">
</div>

在 JS 中进行如下更改

<script>
 function multiple(rowid)
 { 
    var firstBox = parseInt(document.getElementById("txt1id"+rowid).value);
    var secondBox = parseInt(document.getElementById("txt2id"+rowid).value);
 }
</script>

【讨论】:

  • var secondBox = parseInt(document.getElementById("txt1id"+rowid).value); , txt1id 必须是txt2id ..对吗?
  • 还要检查控制台内部函数console.log("Row id :"+rowid);中的rowid
  • 你做得又好又快..我会检查
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 2017-08-15
  • 2021-01-15
  • 2011-12-08
相关资源
最近更新 更多