フォームで2つのドロップダウンを使用して検索しています。 2番目のドロップダウン値は、最初のドロップダウン値の選択に基づいて変更されます。 ajaxリクエストは行っていますが、PHPスクリプトから何らかの値を返さないことがあります。コードの変更に関する提案はありますか?jquery ajaxを使用して選択ドロップダウン値を動的に変更します
search.php
<select name="shop_name" id="shop_name">
<option value="blank">Select one</option>
<?php
$searchItem = new dbhandler();
$shopData = $searchItem->all_data('food_shops');
$i = 0;
foreach($shopData as $sd) {
?>
<option value="<?php echo $shopData[$i]->r_id; ?>"><?php echo $shopData[$i]->name; ?></option>
<?php $i++; } ?>
</select>
script.js
<script type="text/javascript">
$(document).ready(function()
{
$("#shop_name").change(function()
{
var id=$(this).val();
var dataString = 'id=' + id;
$.ajax
({
type: "GET",
url: "dynamic_select.php",
data: dataString,
success: function(data)
{
$("#location").html(data);
}
});
});
});
dynamic_select.php
<?php
if($_GET['id']) {
$crs = $_GET['id'];
?>
<select name="location" id="location">
<?php
$searchItem = new dbhandler();
$searchItem->find('food_shops' , 'r_id', $crs);
$data = $searchItem->data();
$j = 0;
foreach($data as $d) {
?>
<option value="<?php echo $data[$j]->address; ?>"><?php echo $data[$j]->address; ?></option>
</select>
<?php $j++; } } ?>
all_dataは()SELECT * FROM table_name
を照会しますと見つけるには、()SELECT * FROM table_name WHERE r_id = $crs
あなたはあなたのAJAX呼び出しのための 'url'オプションがありません。 – Qsprec
あなたのajaxでurlを追加し、関連する値を取得するためにidパラメータを渡す必要があります。 –
^^^^ + '$("#location ")replaceWith(data);' – Satpal