0

この問題の解決策を見つけようとしていますが、javascript を使用するのはこれが初めてなので、大きな問題があります。

だからここに私が必要なものがあります。

私は2つのドロップダウンリストを持っています。

最初のリストで選択した値に応じて、2 番目のリストには、SQL から抽出された異なる値が表示され、ページを更新せずにこれを実行する必要があります。

これらの値を抽出するコードは getpackage.php というファイルで、最初のドロップ リストから取得した値に基づいてクエリを作成し、2 番目のリストの値を出力します。

私は .load() 関数を使用してそれを行うことができましたが、Firefox、IE、およびクロムでのみ機能し、何も起こりません。

コードは次のとおりです。

register.php

    <select name="product">
                                <?php                       
            $sql = "SELECT * FROM proxy_products";
            $result = mysql_query($sql) or die('Error, query failed');
            echo "<option value=''></option>";
            while(list($product_id,$product_name) = mysql_fetch_array($result))
            {
    echo '<option value='".$product_id."' onclick='recp(".$product_id.")' selected >".$product_name."</option>';

            }
    ?>                  
    </select>

//here should the second list load
<select id="showpacakge" name="package">

</select>

ジャワ:

<script>
function recp(id) {
$('#showpacakge').load('getpackage.php?id='+id);
}
</script>

そしてgetpackage.php

$id = $_GET['id'];
$sql = "SELECT package_id, package_name FROM proxy_package WHERE product_id='".$id."'";
$result = mysql_query($sql) or die('Error, query failed');
echo "<option value=''></option>";
    while(list($package_id,$package_name) = mysql_fetch_array($result))
    {
        echo "<option value='".$package_id."' >".$package_name."</option>";
    }

私が言ったように、これはそれほど難しいことではないかもしれませんが、私にとっては初めてJavaを使おうとするからです。

前述のように、Firefox では動作しますが、IE と Chrome では動作しません。

アップデート:

私は自分で解決策を得ました..違いは正確にはわかりませんが、それは私にとってはうまくいきます

<script>
    $("#selectprod").change(function (e)
        {
    var $targ = $(e.target);
    var selected_value = $targ.find('option:selected').val();
    $("#123").load('getpackage.php?id='+ selected_value);
        }
                      )

        .change();
</script>
4

0 に答える 0