删除值取消选择select jQuery

时间:2018-05-10 05:22:12

标签: javascript jquery html jquery-chosen

我有一个选择的选择框,其中列出了特定学校的所有标准。当我选择特定班级时,列出该班级的学生。

我想关闭特定班级,删除该班级的学生。我在删除课程时遇到了问题。现在所有学生都被删除了。

代码示例

                    <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(''); 
        },
    }); 
}); 

直到这个工作正常。取消选择特定班级时,我需要删除学生

1 个答案:

答案 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))
                            })
                     }