Javascript 表行值根据所选下拉列表jquery ajax php进行更改
我正在尝试创建一个页面,该页面的表单包含总计和转换后的总值。这个总数是由php中的do while循环生成的。顶部是货币下跌。当我从下拉列表中选择任何货币时,页面会在ajax模式下重定向到另一个名为currency1.php的php页面,并从currency1.php中获取所需的值,并在转换后的总值中填充相应的值。以下是标记页面:Javascript 表行值根据所选下拉列表jquery ajax php进行更改,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我正在尝试创建一个页面,该页面的表单包含总计和转换后的总值。这个总数是由php中的do while循环生成的。顶部是货币下跌。当我从下拉列表中选择任何货币时,页面会在ajax模式下重定向到另一个名为currency1.php的php页面,并从currency1.php中获取所需的值,并在转换后的总值中填充相应的值。以下是标记页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Get Currency Values</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#cur').change(function() {
$.get('currency1.php', {
cur: $(this).val()
}, function(data) {
$('#emp_id').val(data);
});
});
});
</script>
</head>
<body>
<table border=1>
<tr>
<td colspan=3>
<select name="cur" id="cur">
<option value="1">US Dollar</option>
<option value="2">Indian Rupee</option>
<option value="3">British Pound</option>
<option value="4">Euro</option>
<option value="5">Singapore Dollar</option>
<option value="6">Australian Dollar</option>
<option value="7">Canadian Dollar</option>
<option value="8">Swiss Franc</option>
<option value="9">Japanese Yen</option>
<option value="10">Malaysian Ringgit</option>
<option value="11">South African Rand</option>
</select>
<input type="text" name="emp_id" id="emp_id" />
</td>
{Do while loop in PHP}
<tr>
<td><b>Total Value</b>
</td>
<td><b>Converted Value</b>
</td>
</tr>
<tr>
<td>
<input type="text" name="box1" id="box1" value="1000">
</td>
<td>
<input type="text" name="con_ver1" id="con_ver1" />
</td>
</tr>
<tr>
<td>
<input type="text" name="box2" id="box2" value="2200">
</td>
<td>
<input type="text" name="con_ver2" id="con_ver2" />
</td>
</tr>
<tr>
<td>
<input type="text" name="box3" id="box3" value="900">
</td>
<td>
<input type="text" name="con_ver3" id="con_ver3" />
</td>
</tr>
<tr>
<td>
<input type="text" name="box4" id="box4" value="3200">
</td>
<td>
<input type="text" name="con_ver4" id="con_ver4" />
</td>
</tr>
<tr>
<td colspan=2>The Records continues..........</td>
</tr>
{end of php do while loop}
</table>
</body>
</html>
获取ajax查询的currency1.php如下所示:此页面应将数组中的结果返回到上一页。我不知道如何在数组中实现这一点,并在ajax中返回结果。Currency1.php如下所示:
<?php
include('config.php');
$sql = "select rate from currency1 where currency='INR' LIMIT 1";
$result_gt = mysql_query($sql) or die($sql."<br/><br/>".mysql_error());
$list_gt = mysql_fetch_array($result_gt);
$inrvalue=$list_gt['rate'];
if(isset($_REQUEST['cur'])){
// connection should be on this page
$sql = mysql_query("select currency,rate from currency1 where id =".$_REQUEST['cur']);
$res = mysql_fetch_assoc($sql);
$rate=$res['rate'];
//$gt=($inrvalue*10)/$res['rate'];
//$gt=($inrvalue*10)/$res['rate'];
//$gt=($inrvalue/$rate)*total[$i];
$gt=($inrvalue/$rate);
echo json_encode($gt);die;
}
?>
我的编码正确吗?是否有其他程序可以达到同样的效果。我的意思是仅仅使用javascript?请帮帮我好吗?提前购买Thanx。基本概念
您应该重写成功函数,而不是:
function(data) {
$('#emp_id').val(data);
});
放置一些解析json并生成表内容的代码,例如:
在您的案例中,该文件是由php脚本生成的
该缺陷是,每个web浏览器都会看到相同的结果,因为您加载了一个硬集文件
要为所有用户提供个性化体验,您可以为每种货币生成一个文件,也可以
祝你好运 您打算为每种货币创建一个新的PHP文件吗?你应该做一个通用的php,它通过解析$\u POST获得所需的货币,在sql中调用它,然后生成表。是的,我理解我需要遵循的方法。是的,我知道要生成表。但那之后呢。如何将值传递回第一页。从我粘贴的标记中,您将对字段有一个公平的想法。现在我需要将这些值传递到markuppage或firstpage。谢谢你的帮助。谢谢你。我试试这个。我对Ajax非常陌生,需要做一些尝试和错误。。。
function(data) {
var content_table = '';
var array_data = JSON.parse(data);
for(var i=0; i<array_data.length; i++){
var line_content = array_data[i];
//TODO: set up correctly the line content...
var line_html = '<td>'+line_content+'</td>';
//...once done, append to the html
content_table+='<tr>'+line_content+'</tr>';
}
//update table body (do not reload the full page)
$('tbody').html(content_table);
});
$(selector_datatable).dataTable( {
"ajax": '../ajax/data/arrays.txt'
} );