从ID获取sesult并添加到JS中的另一个ID

问题描述 投票:0回答:2

我希望变量a中的值显示在div id“final-total”中这是我的index.php

<form action='index.php' method='POST'>
<table class='table table-bordered table-condensed'>
<tr>
<th class='text-center' width='12%'>Code</th>
<th class='text-center' width='12%'>Qty</th>
<th class='text-center' width='40%'>Item</th>
<th class='text-center' width='18%'>Rate</th>
<th class='text-center' width='18%'>Total</th>
</tr>
<tr>
<td>
<input type='text' name='code1' id='code1' size='4' class='text-center'>
</td>
<td>
<input type='text' name='qty1' id='qty1' size='5' class='text-center'>
</td>
<td>
<div id='item1'></div>
</td>
<td>
<div id='rate1'></div>
</td>
<td>
<div id='total1'></div>
</td>
</tr>
<tr>
<td colspan='3' class='text-left'><b>Total:</b></td>
<td colspan='2'>
<b><div id='final-total'></div></b>
</td>
</tr>
</table>

这是我的js / global.js

$('input#code1').on('input', function(){
var name = $('input#code1').val();
if ($.trim(name) != ''){
$.post('ajax/item1.php', {code1: name}, function(data){
$('div#item1').text(data);
});
}
});
$('input#code1').on('input', function(){
var name = $('input#code1').val();
if ($.trim(name) != ''){
$.post('ajax/rate1.php', {code1: name}, function(data){
$('div#rate1').text(data);
});
}
});
$('input#qty1').on('input', function(){
var name = $('input#code1').val();
var qty = $('input#qty1').val();
if ($.trim(name) != ''){
$.post('ajax/ttl1.php', {code1: name, qty1: qty}, function(data){
$('div#total1').text(data);
});
}
});

var a = document.getElementById('div#ttl1').value;
document.getElementById("final-total").innerHTML = a;

js / global.ls中的最后两行不起作用

这是我的item1.php的样子

<?php
if(isset($_POST['code1']) === true && empty($_POST['code1']) === false) {
include('../db/connect.php');
$query = mysql_query("
SELECT `item_name` FROM `ftd_stock_v10.3` WHERE `code` = '".mysql_real_escape_string(trim($_POST['code1']))."'");
echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, 'item_name') : 

'物品未找到'; }

这是rate1.php

<?php
if(isset($_POST['code1']) === true && empty($_POST['code1']) === false) {
include('../db/connect.php');
#checking for stock availability
$stmt = $conn -> prepare("SELECT `old_stock_bal` FROM `ftd_stock_v10.3` WHERE `code` = ?");
$stmt -> bind_param("s",$_POST['code1']);
$stmt -> execute();
$stmt -> bind_result($old_stock);
$stmt -> fetch();
$stmt -> close();
if($old_stock > 0){
$query = mysql_query("
    SELECT `old_rate` FROM `ftd_stock_v10.3` WHERE `code` = '".mysql_real_escape_string(trim($_POST['code1']))."'");
echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, 'old_rate') : '0.000' ;
}else{
$query = mysql_query("
    SELECT `new_rate` FROM `ftd_stock_v10.3` WHERE `code` = '".mysql_real_escape_string(trim($_POST['code1']))."'");
echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, 'new_rate') : '0.000' ;
}
}

这是我的ttl1.php

<?php
if(isset($_POST['code1']) === true && empty($_POST['code1']) === false) {
include('../db/connect.php');
#checking for stock availability
$stmt = $conn -> prepare("SELECT `old_stock_bal` FROM `ftd_stock_v10.3` WHERE `code` = ?");
$stmt -> bind_param("s",$_POST['code1']);
$stmt -> execute();
$stmt -> bind_result($old_stock);
$stmt -> fetch();
$stmt -> close();
if($old_stock > 0){
$query = mysql_query("
    SELECT `old_rate` FROM `ftd_stock_v10.3` WHERE `code` = '".mysql_real_escape_string(trim($_POST['code1']))."'");
echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, 'old_rate') * 
$_POST['qty1'] : '0.000' ;
}else{
$query = mysql_query("
    SELECT `new_rate` FROM `ftd_stock_v10.3` WHERE `code` = '".mysql_real_escape_string(trim($_POST['code1']))."'");
echo (mysql_num_rows($query) !== 0) ? mysql_result($query, 0, 'new_rate') * 
$_POST['qty1'] : '0.000' ;
}
}

我希望id为“final-total”的div得到qty1 * rate1的结果,依此类推,直到qty10 * rate10,(全部加到summs)

注意这些是我的文件

index.php
js/global.js
db/connect.php

ajax/item1.php
.
.
ajax/item10.php

ajax/rate1.php
.
.
ajax/rate10.php

ajax/ttl1.php
.
.
ajax/ttl10.php
javascript html
2个回答
0
投票

如果元素存在于DOM中,那么问题主要在于这一行

var a = document.getElementById('div#ttl1').value;

我认为是

var a = document.getElementById('ttl1').value;
document.getElementById("final-total").innerHTML = a;
<input type="text" id="ttl1" value="x">

<div id="final-total"></div>

0
投票

你不能像这样使用getElementById(),你需要使用querySelector()函数来找到这个项目。

var a = document.querySelector('div#ttl1').innerHTML;
document.getElementById("final-total").innerHTML = a;
<div id="ttl1">Hello</div>

<div id="final-total"></div>

或者如果你想使用getElementById()函数,你必须只命名id,如:getElementById('ttl1')

© www.soinside.com 2019 - 2024. All rights reserved.