必要なのは、最初の選択ドロップダウンを選択した後、選択したコンテンツを PHP ページに転送することです。 PHPページでは、データベースにクエリを実行することで、2回目のselectで表示する必要があるオプションの値を取得し、selectで表示します。
1 ajax を使用してデータを PHP にアップロードすると、テンプレート内の変数に値を直接割り当てることができるため、 ajax を通じて値を返し、出力を処理します。
この PHP ページは他の PHP ページに含まれていないため、独立しています。これにより、値を割り当てることができなくなります。
2 ajax を介して戻り値を受け取ります。 ここでの戻り値は、上記のデータベース クエリの結果です。
json_encode()でjson形式に変換して出力します。
js??JSON.parse() 関数の実装で、responseText 文字列を json 形式に変換します。
配列を走査し、選択するオプションを追加します。
今回はオプション 2 を使用します
JS コード:
function get_value(form){ var scid=sub_class.value;//运算类型号//---------------------------------------//使用ajax发送选中的运算类 var url = "query_subject.php?scid="+scid; xmlhttp.onreadystatechange = Content;// var url = "query_subject.php?"; xmlhttp.open("GET",url,true); xmlhttp.send(null);//--------------------------------------- function Content(){ if(xmlhttp.readyState==4){ if(xmlhttp.status==200){ var sel=document.getElementById("sub_name"); var rst=JSON.parse(xmlhttp.responseText);//将字符串转化为数组 for(var i=0; i<rst.length; i++){ var opt=document.createElement('option'); opt.value=rst[i].sid; opt.text=rst[i].s_name; try { sel.add(opt,null); // standards compliant } catch(ex) { sel.add(opt); // IE only } } } else{ alert("你请求的页面错误"); } } } }
?phpheader ( "Content-type: text/html; charset=UTF-8" ); //设置文件编码格式require_once("system/system.inc.php"); //包含配置文件$scid=$_GET['scid'];$rst=null;if($scid){ $sql="select sid, s_name from subject where scid='$scid'"; $rst=$admindb->ExecSQL($sql, $conn);}echo(json_encode($rst));?>