Мой выпадающий список с использованием начальной загрузки начальной загрузки не заполнен

Вы получаете эту ошибку, потому что не для каждого типа T определены >, < и т. д.

То, что вы, вероятно, хотели T быть Ordered, или быть неявно конвертируемым к тому, что есть Ordered, и, следовательно, все они определены.

Это должно исправить сообщения об ошибках:

class NonEmpty[T <% Ordered[T]](elem: T, left: Set[T], right: Set[T]) extends Set[T] {
    override def toString = "{" + left + elem + right + "}"

    def contains(x: T): Boolean =
        if (x < elem) left contains x
        else if (x > elem) right contains x
        else true

    def incl(x: T): Set[T] =
        if (x < elem) new NonEmpty(elem, left incl x, right)
        else if (x > elem) new NonEmpty(elem, left, right incl x)
        else this

    def union(that: Set[T]): Set[T] =
        ((left union right) union that) incl elem
}

T <% S (граница представления) говорит, что type T должен быть конвертируемым в S, поэтому он должен быть либо подтипом S, либо иметь неявное преобразование.

Ответ Accepter на this queston объясняет это более подробно.

0
задан user3003374 6 March 2019 в 21:45
поделиться

1 ответ

В вашей функции участников у вас есть вызов ajax. Так как это асинхронный вызов, вам нужно переместить множественный выбор и создать внутри фрагмента успеха:

function Participants(sid){
     console.log(sid);
     $('#participants').empty()
     $('#participants').append("<option>Loading......</option>");
     $.ajax({
         method:"POST",
         url:"participants_dropdown.php?sid="+sid,
         contentType:"application/json; charset=utf-8",
         dataType:"json",
         success: function(data){
             console.log('success')
             $('#participants').multiselect('destroy');
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ HERE
             $('#participants').empty();
             $('#participants').append("<option value='0'>---Select Participants---</option>");
             $.each(data, function(i, item){
                 $('#participants').append('<option value="'+data[i].facility_id+'">Call-Sign: '+data[i].call_sign+' - Operator: '+data[i].operator+' - Primary Programming: '+data[i].primary_programming+'</option>');
          });
             $('#participants').multiselect();
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ HERE
         },
         complete: function(){
         }
     });
 }

Фрагмент (кнопка имитирует вызов ajax):

[ 117]
$('#participants').empty()
$('#participants').append("<option>Loading......</option>");
$('#participants').multiselect();


$('#btn').on('click', function(e) {
    var data = [{"operator":"Nexstar Media Group Inc","owner":"Mission Broadcasting Inc","call_sign":"KRBC-TV","facility_id":"306","primary_programming":"NBC"},{"operator":"Nexstar Media Group Inc","owner":"Nexstar Media Group Inc","call_sign":"KTAB-TV","facility_id":"59988","primary_programming":"CBS"},{"operator":"Prime Time Christian Broadcasting Incorporated","owner":"Prime Time Christian Broadcasting Incorporated","call_sign":"KPCB-DT","facility_id":"77452","primary_programming":"REL"},{"operator":"Sinclair Broadcast Group Inc","owner":"Sinclair Broadcast Group Inc","call_sign":"KTXS-TV","facility_id":"308","primary_programming":"ABC"},{"operator":"TEGNA Inc","owner":"TEGNA Inc","call_sign":"KXVA","facility_id":"62293","primary_programming":"FOX"}];
    $('#participants').multiselect('destroy');
    $('#participants').empty();
    $('#participants').append("<option value='0'>---Select Participants---</option>");
    $.each(data, function(i, item){
        $('#participants').append('<option value="'+data[i].facility_id+'">Call-Sign: '+data[i].call_sign+' - Operator: '+data[i].operator+' - Primary Programming: '+data[i].primary_programming+'</option>');
    });
    $('#participants').multiselect();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.js"></script>

<div class="col-md-4">
    <h3><span>2) Select Market Participants</span></h3>
    <select id="participants" multiple class="form-control">
    </select>
    <button id="btn" class="btn btn-primary">Click Me</button>
</div>

0
ответ дан gaetanoM 6 March 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: