实际上我想在选择一个下拉列表时显示动态下拉列表。 这是我的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循环,它工作正常。 我已经浪费了一天时间。请帮帮我。
答案 0 :(得分:0)
第一个U画错了option
它没有属性name
它只有value
属性;第二个$ .html - 重写整个内部html代码,U为每个$()。html重写 - 而且U只获得最后一次更改
var options = '';
<?php foreach($certquery as $c) echo "options += '<option>{$c->post_title}</option>"; ?>
$("#cert").html(options);