如何通过jQuery显示数组值?

时间:2012-10-04 20:15:10

标签: php jquery ajax invoice

我想使用jQuery或ajax在script.php文件中发送多个select(逐个)的选定值。在script.php文件上发送值后。我想在index.php页面特定的输入框中显示script.php文件查询结果。就像一个例子:如果有人选择项目,那么项目描述和费率显示在描述和费率输入框中。这是我的代码和图片

enter image description here

index.php文件代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Item Description</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {

    $(".item").change(function() {

    var item = [];
    item:$(".item").each(function() {
            var num = parseFloat(this.value) || 1;
            item.push(num);
    });

        $.ajax({
            type: "POST",
            url: "script.php",
            data: item,
            success: function()
            {
                            // I failed to show script.php value

            }
        });

        return false;
    });

});
</script>
<style type="text/css">
table
{
    border: 1px solid black;
    border-bottom: none;
    width: 600px;
}


td
{
    border-left: 1px solid black;
    border-bottom: 1px solid black;
    padding:5px 5px 5px 5px;
}
#first
{
    border-left: none;
    border-bottom: 1px solid black;
}
</style>
    </head>
    <body>
        <form method='post' name='form1' action='welcome.php'>
        <table cellpadding="0" cellspacing="0">
            <tr>
                <td id="first">Item</td>
                <td>Description</td>
                <td>Rate</td>
            </tr>
            <?php
            $num=4;
            for ($i=0; $i<$num; $i++)
            {
                echo "
             <tr>
                 <td id='first'>
                 <Select class='item' name='item[]'/>
                 <option>Select one</option>
                 <option>Deluxe Plan</option>
                 <option>Premium Plan</option>
                 <option>Standard Plan</option>
                 <option>Economy Plan</option>
                 </select>
                </td>
                <td><textarea class='description' type='text' name='description[]'></textarea></td>
                <td><input class='rate' type='text' name='rate[]'/></td>
               </tr>";
            }
            ?>
     </table>
</form>
</body>
</html>

script.php文件代码

<?php
include "dbconnect.php";

$item=$_REQUEST['item'];

$query="select * from item where item_name='$item'";
$result=mysql_query or die (mysql_error());

while ($row = mysql_fetch_array($result))
    {
    $description=$row['description'];
    $rate=$row['rate'];
    }
?>

拜托,请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

试试这个

data: { 'item' : item.serializeArray() }

在将数组发送到服务器之前序列化数组..

success: function(result) {

}

您使用页面中的数据参数并将其发送到您的服务器... 您可以使用数据来查询某些结果,并以JSON的形式发回结果,这是轻量级的。

服务器的返回结果可以在AJAX请求的成功回调函数中处理,可以用来操作DOM ...

点击此链接:http://www.webdeveloper.com/forum/showthread.php?240091-how-to-return-data-from-php-to-jquery-AJAX