Javascript 表行值根据所选下拉列表jquery ajax 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

我正在尝试创建一个页面,该页面的表单包含总计和转换后的总值。这个总数是由php中的do while循环生成的。顶部是货币下跌。当我从下拉列表中选择任何货币时,页面会在ajax模式下重定向到另一个名为currency1.php的php页面,并从currency1.php中获取所需的值,并在转换后的总值中填充相应的值。以下是标记页面:

<!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'
} );