2016-01-24 2 views
0

Я пытаюсь динамически заполнить варианты всплывающего меню. Ниже мой код:Невозможно заполнить всплывающее окно multiselect

<label for="serviceTypeCntrl" style="padding-left: 14px;">Service Type : </label> 
<select id="serviceTypeCntrl" name="serviceTypeCntrl" class="selectpicker" multiple="multiple"> 
</select> 

Тогда я пытаюсь заполнить выпадающий список динамически с помощью AJAX вызова.

$(document).ready(function() {   
    $.ajax({    
     url : 'ServicerServlet?identifier=PopulateServiceType', 
     type : 'post', 
     dataType: 'json', 
     success : function(responseText) { 
      alert(responseText); 
      //var option=""; 
      $("#serviceTypeCntrl").find("option").remove(); 
      responseText.forEach(function(serviceType) { 
      //option = $('<option>' + serviceType + '</option>'); 
      //$('#serviceTypeCntrl').append(option); 
      //$('<option>').text(serviceType).appendTo('#serviceTypeCntrl'); 
      $('#serviceTypeCntrl').append($('<option>').text(serviceType)); 
      }) 
     }   
    }); 
}); 

Значение происходит от сервлета, но выпадающее меню не заполняется. Что я здесь делаю неправильно? Ждем ваших ответов.

Заранее спасибо.

+2

Можете ли вы показать значение 'responseText'? – Azim

+0

вещь, которую вы делаете, должна работать, если 'serviceType' фактически содержит текст опции на каждой итерации ... – billynoah

+0

Спасибо за ответ billy. Да на каждой итерации я получаю значение. но он не устанавливается. – Roy

ответ

1

Попробуйте один раз, как этот

$('#serviceTypeCntrl').append("<option>" + serviceType + "</option>")); 

вместо этого

$('#serviceTypeCntrl').append($('<option>').text(serviceType)); 
+0

Спасибо jyothi за ответ. Я пробовал приведенный ниже код, но, как ни странно, ни один из них не работает – Roy

+0

@Roy Можете ли вы показать «responseText» один раз? –

+0

Текст ответа. [«Service1», «Service2», «Service3», «Service4», «Service5», «Service6»] – Roy

Смежные вопросы