我有一个选择的选择框,其中列出了特定学校的所有标准。当我选择特定班级时,列出该班级的学生。
我想关闭特定班级,删除该班级的学生。我在删除课程时遇到了问题。现在所有学生都被删除了。
代码示例
<label>Classes</label>
<select multiple="multiple" id="selClasses" name="classes[]" class="chosen-select form-control" data-placeholder="Select Class">
<?php foreach($standard_batch as $row){?>
<option value="<?php echo $row->cls_id?>" <?php echo (isset($classes) && ($classes==$row->cls_id)? 'selected="selected"' : set_select('classes[]',$row->cls_id));?>><?php echo $row->std_name;?> <?php echo $row->bat_name;?></option>
<?php }?>
</select>
<div class="row mb-2 hidden" id="hidden-chose-box">
<div class="col-sm-12">
<select class="chosen form-control" id="view-student-list-chosen" name="students_class[]" multiple="true">
</select>
</div>
</div>
Jquery的
$(document).on('change','#selClasses',function(){
var class_id=$(this).val();
$.ajax({
type: 'POST',
url: 'controller/getStudentClass',
dataType: 'json',
data: {
csrf_test_name : csrf_token,
id : $(this).val()
},
success: function(data) {
// $("#list-student-loader").html('');
$("#hidden-chose-box").removeClass('hidden');
$.each(data,function(index,classes){
$('#view-student-list-chosen').append('<option value="'+classes.stu_id+'" selected >'+classes.stu_firstname+'</option>').trigger("chosen:updated");
});
// $("#list-student-loader").html('');
},
});
});
直到这个工作正常。取消选择特定班级时,我需要删除学生
答案 0 :(得分:0)
清除值应该删除已经存在的数据,之后才能将新数据附加到下拉列表中,
你应该用
清除下拉列表fisrt$("#view-student-list-chosen").empty();
然后您可以将新值附加到DDL: -
if (data != "") {
$.each(result, function (i, data) {
$("#view-student-list-chosen").append($('<option></option>').val(data.stu_id).html(data.stu_firstname))
})
}