私はAJAXに堪能ではありませんが、これはすべてのアカウントで有効であると思います。 これは、ユーザーがドロップダウンから名前を選択し、別のドロップダウン(PHPでmysqlデータベースから入力)が自動的に関連オブジェクトを選択することです。それでは、あなたが持っていたとしましょう:AJAXレスポンスに基づくドロップダウン値の変更
名:スージー/マイケル/カレン
好きな果物:リンゴ/オレンジ/マンゴー/グアバ
スージーを選択することで、それが彼女のお気に入りであることから、それは「オレンジ」を自動選択でしょうデータベースのフルーツ。
私はAjaxがドロップダウンを関連する「果物」に変更するためのコードを持っています。
<script type="text/javascript">
function getAff(str)
{
if (str=="NULL" || str=="")
{
document.getElementById("fruit").value="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText);
var indexVal = document.getElementById("fruit").length;
for(x=0; x<indexVal;x++) {
if (document.getElementById("fruit").options[x].value == xmlhttp.responseText) {
document.getElementById("fruit").selectedIndex = x;
//alert(xmlhttp.responseText);
}
}
}
}
xmlhttp.open("GET","getaff.php?q="+str,true);
xmlhttp.send();
}
</script>
私はここでそれをコメントしましたが、正しい値を引き出していることを警告で確認しました。
1つは、ドロップダウンボックスが変更されていないことです。私はそれがPHPを介して生成されているので、私は知らないのですか?しかし、そうすべきではありません。各ドロップダウン選択の値は、データベースから取得されるフルーツの名前です。私は自分自身にインデックス値の量を警告して、それがドロップダウンを読んでいるかどうかを確認し、正しい数値を得ています。しかし、ドロップダウンの変更はありません。何かご意見は?ありがとうございました!
私はそれを解決するため、回答ではなくコメントとして投稿します。代わりにjQueryを使用すれば、あなたの人生ははるかに簡単になります。 – profitphp