この問題の解決策を見つけようとしていますが、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>