0

jQueryまたはajaxを使用して、script.phpファイルで複数選択(1つずつ)の選択値を送信したい。script.php ファイルで値を送信した後。index.php ページ固有の入力ボックスに script.php ファイルのクエリ結果を表示したいと考えています。例のように: 誰かがアイテムを選択すると、アイテムの説明とレートが説明とレートの入力ボックスに表示されます。ここに私のコードと画像があります

ここに画像の説明を入力

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'];
    }
?>

この問題を解決するために親切に誰か助けてください。

4

1 に答える 1

0

これを試して

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

サーバーに送信する前にアレイをシリアル化します。

success: function(result) {

}

ページのデータ パラメータを使用してサーバーに送信します...データを使用して結果をクエリし、軽量な JSON の形式で結果を返します。

サーバーから返されたこの結果は、DOM の操作に使用できる AJAX リクエストの成功コールバック関数で処理できます...

このリンクを確認してください: http://www.webdeveloper.com/forum/showthread.php?240091-how-to-return-data-from-php-to-jquery-AJAX

于 2012-10-04T20:20:15.437 に答える