0
私は、既存のデータベースからいくつかのドロップダウンデータを取得するフォームを持っています。私は別のDBからより詳細な情報を得るために最初に参照する2番目のドロップダウンに取り組んでいますが、私のコードはどこかで壊れているようです。最初のドロップダウンには値が表示されますが、「管理者」を選択すると「サイト」ドロップダウンが空白になり、「サイトの選択」オプションが失われます。動的依存ドロップダウン
ご協力いただければ幸いです。コメントでの議論を1として
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<script>
function getSite(val) {
$.ajax({
type: "POST",
url:"get_site.php",
data:'manager_id='+val,
success: function(data){
$("#site-list").html(data);
}
});
}
</script>
HTML/PHP
Manager<br/>
<select name="manager_id" onChange="getSite(this.value);">
<option value="">Select Manager</option>
<?php
$results = mysql_query("SELECT * FROM _managers");
while ($row_unit = mysql_fetch_array($results)){
?>
<option value="<?php echo $row_unit["id"]; ?>"><?php echo $row_unit["company"]; ?></option>
<?php
}
?>
</select>
<br/><br/>
Site<br/>
<select name="site_id" id="site-list">
<option value="">Select Site</option>
</select>
get_site.php
<?php
include('includes/connect-db.php');
if(!empty($_POST["manager_id"])) {
$manager_id = $_POST["manager_id"];
$results = mysql_query("SELECT * FROM _sites WHERE manager_id = $manager_id");
?>
<option value="">Select Site</option>
<?php
while ($row_site = mysql_fetch_array($results)){
?>
<option value="<?php echo $row_site["id"]; ?>"><?php echo $row_site["site_name"]; ?></option>
<?php
}
}
?>
'$("#site-list ")。append(data);' – Saurabh
help @Saurabhに感謝します。私は調整を行ったが、まだ "get_site.php"ファイルから自分の値を取得していない。現在、「サイトの選択」はサイトのドロップダウンに残りますが。 – JasonH
ループ内でエコーしているので、すべてのデータを配列に入れ、その変数をエコーします。私は個人的に 'json_encode'を使ってエコーを好む – Saurabh