0

私がやろうとしているのは、 JQuery を使用してユーザーのプライマリ入力に基づいて、php とデータベースを使用してセカンダリ選択オプションを設定することです。犬が選択されている場合は、犬の品種、猫 - 猫の品種などを入力します。

一次入力

<select id="animal" name="animal">
    <option value="dogs" <?php if ($animaltype == 'dogs') echo 'selected'; ?>>Dogs</option>
    <option value="cats" <?php if ($animaltype == 'cats') echo 'selected'; ?>>Cats</option>
</select>

JQuery コード

    $('select#animal').change(function() {
       var animal = $("select option:selected").attr('value');
       $('select#breed').load(animal);
       alert(animal);
    })

アラート(動物)を追加して、犬、猫、馬などの正しい値を通過していることを確認しました...これは、データベーステーブル名を対象とするためです。私が達成しようとしているのは、その値を取るように mysql クエリを変更することです。たとえば、"SELECT breed FROM animal"animal は jquery が返すものです。

<select id="breed" name="breed">
            <?php 
                $query = "SELECT breed, url FROM {$animaltype}";
                $results = mysql_query($query);             

                while($breed = mysql_fetch_assoc($results)) {
                    echo '<option value="'. $breed['url'] .'">'. $breed['breed'] .'</option>';
                }
            ?>
        </select>

jquery スクリプトで $.post が必要で、リクエストをその php ページに投稿し、select クエリで $animaltype に値を割り当てる必要があると思いますか? jquery/php はまったく初めてなので、気楽にどうぞ ;) 理解できるように十分に説明したことを願っています。ありがとう!

4

2 に答える 2

0

次のようなことができます。

<script type="text/javascript">
$('select#animal').change(function() {
       var animal = $("select option:selected").attr('value');
       $.ajax({
        type: "POST",
        url: "yourpage.php",
        data: { animal: animal  }
    });
    });

     var updateAnimal = function(url, breed){
        //use url and breed variables here however you want, e.g
    $('.someselectbox').append('<option value="'+url+'">'+breed+'</option>');
}

</script>

And then in your php


<?php
if(isset($_POST['animal']))
{
    $animal = $_POST['animal'];


    $query = "SELECT breed, url FROM $animal}";
    $results = mysql_query($query);             

    while($breed = mysql_fetch_assoc($results)) {
        echo echo '<script type="text/javascript">
                 updateAnimal('.$breed['url'].', '.$breed['breed'].');
              </script>';

    }
}
?>

やりたいことをよりよく理解して編集しました。

于 2013-10-18T12:43:14.280 に答える