タイトルは私の目標です。私は最初のタグの変更時に2番目の選択タグの値を変更しようとしています。ここで私が試したことがあります。値はデータベースから取得されます。これはいくつかのPHPの選択を必要とします。<select>タグの最初の値を変更した後に値を変更する<select>
<div class="row">
<div class="col-md-5">
<label for="project">From Project</label>
<select class="form-control"id="project"onchange="dropDrown(this.value)" name="project">
<?php
$sql = $db->prepare("SELECT * FROM tbl_project WHERE projectStatus = 1");
$sql->execute();
while($result=$sql->fetch(PDO::FETCH_ASSOC)){
$value = $result['projectID'];
$projectName = $result['projectName'];
echo"
<option value='$value'> $projectName </option>
";
}
?>
</select>
</div>
</div>
<div class="row">
<div class="col-md-5">
<select class="form-control" id="village" name="village"></select>
</div>
</div>
AJAX:
<script type="text/javascript">
function dropDown(id){
var theID = id;
// assign your data to a varaible
var dataString= {theID:id};
$.ajax({
url: "includes/getVillage.php",
type: "POST",
data: dataString,
cache: false,
success: function (data){
$("#village").html(data);
}
});
}
getVillage.php
<?php
include '../../connection';
$village = $_POST['theID'];
$sql = "SELECT * FROM tbl_village WHERE projectID = '$village'";
$query = $db->prepare($sql);
$results = $query->execute();
while($results=$sql->fetch(PDO::FETCH_ASSOC)){
$value = $results['villageID'];
$text = $results['villageName'];
echo "<option value'$value'>$text</option>";
}
あなたは[sql injection attacks](http://bobby-tables.com)に脆弱です。そして、正確にどのようにこのコードは動作していませんか? –
@MarcBどのように?とにかく、 '#village'というIDを持つ2番目のselectタグの値は変更されません。 –
@JerlonBuenconsejo:あなたはすでに 'PDO'を使っています...どちらが良いですか? '$ _POST []'を直接クエリ文字列に使用しないでください。 ['bindParam()']を使う(http://php.net/manual/en/pdostatement.bindparam.php) –