选项不附加到选项

时间:2017-05-23 05:04:42

标签: jquery

$(document).ready(function(){
  $( "#upl" ).delay(400).slideDown(1000,function(){$('select').material_select();});
  $('select[name=department]').change(function(){
    dept = $(this).val();
    request_url = '/get_sub_list/' + dept + '/';
    $.ajax({
      url: request_url,
      type: 'GET',
      dataType:'json',
      success: function(data){
        $.each(data, function(index, text){
          console.log(text.pk+"|"+text.fields.subject_code+"|"+text.fields.subject_name);
            $('select[name=subject]').empty().append("<option></option>").val(text.pk).html(text.fields.subject_code+"|"+text.fields.subject_name);
          });
        }
      });});
    });

所以我在控制台中获得了正确的输出,但是东西没有被附加到选择中。我是这个的新手,所以如果有人能帮助我,请。

4 个答案:

答案 0 :(得分:0)

试试这个:

$('select[name=subject]').empty();
    $.ajax({
        url: request_url,
        type: 'GET',
        dataType:'json',
        success: function(data){
            $.each(data, function(index, text){
                console.log(text.pk+"|"+text.fields.subject_code+"|"+text.fields.subject_name);
                $('select[name=subject]').append($('<option></option>').val(text.pk).html(text.fields.subject_code+"|"+text.fields.subject_name));
            });
        }
     });

答案 1 :(得分:0)

试试这个,

  $('select[name=subject]').empty().append("<option>"+text.fields.subject_code+"|"+text.fields.subject_name +"</option>").val(text.pk);

答案 2 :(得分:0)

$('select [name = subject]')。empty()。append(“”+ text.fields.subject_code +“|”+ text.fields.subject_name +“”)。val(text.pk);

答案 3 :(得分:0)

1)问题是你的选项empty()在每个循环中。所以每次附加前面附加的选项都会被删除。

2)所以空白应该在每个循环之外,就像这样

$('select[name=subject]').empty();
$.each(data, function(index, text){

  $('select[name=subject]').append("<option></option>").val(text.pk).html(text.fields.subject_code+"|"+text.fields.subject_name);

 // (or)

  $('select[name=subject]option').append("<option value='"+text.pk+"'>"+text.fields.subject_code+"|"+text.fields‌​.subject_name+"</opti‌​on>");

}