无法填充多选下拉列表

问题描述:

我正在尝试动态填充多选下拉列表的选项。 下面是我的代码:无法填充多选下拉列表

<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)); 
      }) 
     }   
    }); 
}); 

值来自servlet,但下拉未填充。 我在这里做错了什么? 期待您的答案。

在此先感谢。

+2

你能告诉'responseText'的价值? – Azim

+0

如果'serviceType'实际上在每次迭代中都包含选项文本,则您正在执行的操作应该可以工作... – billynoah

+0

感谢您的回复billy。是的,每次迭代我都会获得价值。但它没有被设置。 – Roy

一次尝试这样

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

,而不是这个

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

感谢jyothi的回复。我尝试了下面的代码,但奇怪的是没有任何代码可以工作 – Roy

+0

@Roy你能显示一次'responseText'吗? –

+0

[“Service1”,“Service2”,“Service3”,“Service4”,“Service5”,“Service6”] – Roy