无法填充多选下拉列表
问题描述:
我正在尝试动态填充多选下拉列表的选项。 下面是我的代码:无法填充多选下拉列表
<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,但下拉未填充。 我在这里做错了什么? 期待您的答案。
在此先感谢。
答
一次尝试这样
$('#serviceTypeCntrl').append("<option>" + serviceType + "</option>"));
,而不是这个
$('#serviceTypeCntrl').append($('<option>').text(serviceType));
你能告诉'responseText'的价值? – Azim
如果'serviceType'实际上在每次迭代中都包含选项文本,则您正在执行的操作应该可以工作... – billynoah
感谢您的回复billy。是的,每次迭代我都会获得价值。但它没有被设置。 – Roy