-1

列(ID、shiptonic、address)を持つcustomers_shiptoというテーブルがあります

テキストエリア「shipto」に、AJAXを使用した特定のレコードに関連する住所列のデータを自動入力する必要があります

私の選択は次のようになります

<select name="shiptonick" id="shiptonick">
    <option value="">Click Here to Change Ship To</option>
    <?
    $sql = "SELECT * FROM customers_shipto WHERE customer_id = '$customer_id' ORDER BY shiptonick ASC"; 
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result)) {
    ?>
    <option value="<?=$row['ID']?>"><?=$row['shiptonick']?></option>
    <? } ?>
</select>

とtextareはこのようになります

<textarea name="shipto" id="shipto" cols="30" rows="5"></textarea>

結果をAJAXに返すために、このようなものでgetaddress.phpのようなファイルを呼び出すと仮定しています

$sql = "SELECT * FROM customers_shipto WHERE ID = '$ID'"; 
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
    echo $row['address'];
}

更新:これは、私が望むものに近いと思うAJAXのコード例ですが、「送信」を呼び出す代わりに、その特定の選択に対して「onChange」を呼び出して、このコードを実行する必要があります。

            <script type"text/javascript">
            $(document).ready(function(){
            $("form#submit").submit(function() {
            // we want to store the values from the form input box, then send via ajax below
            var ID = $('#ID').attr('value');
            var shiptonick = $('#shiptonick').attr('value');
            $.ajax({
            type: "POST",
            url: "includes/getaddress.php?",
            data: "ID="+ ID+
                "&shiptonick="+ shiptonick,
            success: function(data){
                //Return address here and place in textarea njavascript code
            }
            });
            return false;
            });
            });
        </script>

私は近いですか?:)

4

1 に答える 1

1

アドレスonchangetextarea

$("#shiptonick").change(function(){

    var id = $(this).val(); //the selected id from shiptonick

    $.ajax({
             type: 'POST',
             url: 'the php page that returns address based on id',
             data: {ID: id},
             success: function(data){
                 if(data != null)
                    $("#shipto").val(data);
             }
           });    

});
于 2013-01-20T09:36:29.500 に答える