2016-10-22 37 views
0

我有一個動態創建的PHP循環,帶有兩個文本框和一個結果列。從php循環中獲取值,並在keyup上獲取多個值

我需要的是,只是多個值輸入前兩個框,並顯示在其結果框附近的結果。

的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> 
+0

你需要php值嗎?或者PHP循環在哪裏? – C2486

+0

'div class ='calc''是由php循環創建的,php表包含其他值,但不包括在這裏,這裏的id是從數據庫中獲得的。比如'txt1id1,txt2id1'等。 – teashark

+0

你能分享php代碼嗎也? – C2486

回答

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> 
+0

'var secondBox = parseInt(document.getElementById(「txt1id」+ rowid).value);',txt1id必須是'txt2id' ..right? – teashark

+0

是的,請更改我只是複製並粘貼 – C2486

+0

也檢查控制檯裏面的控制檯內功能'console.log(「Row id:」+ rowid);' – C2486