実際には、1 つのドロップダウンの選択時に動的ドロップダウンを表示したいと考えています。これが私のhtmlです:
echo '<select onchange="showcertificate(this.value);" value="'. $certificatelist .'" name=\'certificatelist\'>';
次の関数 showcertficate を呼び出しています。
<script type="text/javascript">
function showcertificate(vendorid)
{
var vendorid = vendorid;
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET","admin-ajax.php?action=wpt_exam_certificatelist&u="+vendorid,true);
xmlhttp.send();
<?php
if(isset($_GET["u"]))
{
$vendorid = $_GET['u'];
}
$certquery = $wpdb->get_results("SELECT * FROM wp_posts INNER JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id WHERE wp_posts.post_status='publish' AND wp_posts.post_type='certificate' AND wp_postmeta.meta_value='$vendorid'");
foreach($certquery as $c)
{ ?>
$("#cert").html('<option name=\'certificatelist\'><?php echo $c->post_title; ?></option>');
<?php }
?>
}
</script>
問題は、.html 関数が foreach ループ内で実行されていないことです。foreach ループを削除すると、正常に動作します。私はすでに1日を無駄にしています。私を助けてください。