此代码在某些电脑中正常工作 我有基本的ajax调用来显示选择标记
中的批处理列表function show_batch(class_id,batch_id){
if(class_id){
$.ajax({
url:root_path+"module/fee_dtl/show_batch.php",
data:"class_id="+class_id+"&batch_id="+batch_id,
type:"post",
success:function(e){
$('#stu_batch').html(e);
$('#stu_batch').removeAttr('disabled');
search();
},error(e){
alert(e);
}
});
}else{
$('#stu_batch').attr('disabled','disabled');
$('#stu_batch').html("<option value=''>Select Class First</option>");
search();
}
}
我期待我的stu_batch id select标签中的批处理列表
<?php
session_start(); ?>
<option value="">Select Batch</option>
<?php
$phpfiles=glob("../../include/php/*.php");
foreach ($phpfiles as $phpfile) {
include_once($phpfile);
}
extract($_POST);
$batch_data=fetchAll("select id,name from batch where class_id=$class_id");
foreach ($batch_data as $batch_value) {
?>
<option <?php if(isset($batch_id)&& $batch_id==$batch_value['id']){echo "selected";} ?> value="<?php echo $batch_value['id'];?>"><?php echo $batch_value['name'];?></option>
<?php
}
&GT?; 这是我的show_batch.php文件代码
<td>Select Class
<select onchange="show_batch(this.value,'')" class="form-control" id="stu_class" name="class_id">
<option value="">Please Select Class</option>
<?php
$class_data=fetchAll("select id,name from class");
foreach ($class_data as $class_value) {
?>
<option <?php if((isset($_POST['class_id']) && $_POST['class_id']==$class_value['id']) || ($id && $class_fee_dtl['class_id']==$class_value['id'])){echo "selected";} ?> value="<?php echo $class_value['id']; ?>"><?php echo $class_value['name'] ?></option>
<?php }?>
</select>
</td>
<td>Select Batch
<select class="form-control" disabled onchange="search()" id="stu_batch" name="batch">
<option value="">Select Class First</option>
</select>
</td>
这些是我的两个。在第二个下拉列表中,我想显示ajax列表
答案 0 :(得分:1)
您需要从PHP代码中返回一些结果
session_start();
$phpfiles=glob("../../include/php/*.php");
foreach ($phpfiles as $phpfile) {
include_once($phpfile);
}
extract($_POST);
$batch_data=fetchAll("select id,name from batch where class_id=$class_id");
$finalHtml = '<option value="">Select Batch</option>';
foreach ($batch_data as $batch_value) {
$selected = (isset($batch_id) && $batch_id == $batch_value['id']) ? 'seelcted' : '';
$finalHtml .= '<option selected="'.$selected.'" value="'.$batch_value['id'].'" />'.$batch_value['name'].'</option>';
}
echo $finalHtml;
同样在您的Jquery代码中,您需要附加选项
$('#stu_batch')
.find('option')
.empty()
.append(response);
答案 1 :(得分:0)
执行console.log()
您的Ajax结果以检查其返回的内容。然后将其绑定到html。
答案 2 :(得分:0)
您必须检查show_batch.php结果集,该结果集在完成ajax调用后返回。它似乎正在返回一个对象,并试图将选项填充到选择标记中。
其中一种方法是将结果不作为对象返回,而是在show_batch.php文件中尝试此方法
$option = "";
$option .= "<option value='$val'>".$res."</option>";
echo $option;
exit;
现在在ajax成功函数中会显示它。请注意,上面给出的代码只是您需要根据需要进行修改的示例。