ajaxでOnchange()をフォームに返すときに問題が発生しました。AjaxでOnchangeを返す方法html select
基本的に私はクライアントをselectに掲載しています。
<select name="company" id="company">
<?php
$sqlget1 = "SELECT * FROM clients WHERE 1=1 ORDER BY company ASC;";
$resget1 = mysql_query($sqlget1);
while($row1 = mysql_fetch_array($resget1)) {
?>
<option value="<?php echo $row1['id']; ?>"><?php echo $row1['company']; ?></option>
<?php
}
?>
</select>
クライアントを選択すると、Ajaxを使用してそのクライアントに割り当てられたプロジェクトを取得します。私はそれに動作していないアヤックスから返されたHTML上の変更機能に使用する場合
$('#company').change(function() {
var selectedProject = $("#company option:selected").val();
$.ajax({
type: "POST",
url: "get_projects.php",
data: { projects : selectedProject }
}).done(function(data){
$("#response").html(data);
});
});
それは
<div id="response"></div>
に戻します
get_projects.phpのコードは今
<?php
include('inc.php');
if(isset($_POST["projects"])) {
$projects = $_POST["projects"];
$sqlget2 = "SELECT * FROM projects WHERE cid=\"$projects\" ORDER BY pname ASC;";
$resget2 = mysql_query($sqlget2);
echo '<select name="project" id="project" class="select2 form-control">';
echo '<option value="">-- Select a project --</option>';
while($row2 = mysql_fetch_array($resget2)) {
?>
<option value="<?php echo $row2['id']; ?>" pstatus="<?php echo $row2['pstatus']; ?>" ptype="<?php echo $row2['ptype']; ?>"><?php echo $row2['pname']; ?></option>
<?php
}
echo '</select>';
}
?>
です。
私はソースコードを見てみると、そこには存在しないことが分かりました。 <div id="response"></div>
しかし、私はフォーム上の結果を見ることができますが、ソースコード内のソースを見ることはできません。
私はそれが表示されていないので、なぜOnchange()が<select name="project" id="project" class="select2 form-control">
のために働いていないのだと思った。
リカルドありがとう。しかし、あなたが気にしないなら、簡単に説明できますか? – thowzif
これは良いですか? –
htmlが追加されたら、どのようにonchangeをバインドするのですか? – thowzif