我有一个Select2 Multiselect html元素。虽然不显示渲染占位符,但如果我选择并删除该项,则显示占位符。我不知道如何使它工作。请指教。
最初
选择时
删除项目后
代码:
@Html.DropDownListFor(m => m.Vendor, new SelectList(Model.Status), "Search Status", new { @id = "advanced-search-lsc-status", @class = "form-control", @multiple = "multiple", data_placeholder = "Select Status" })
$('#advanced-search-status').select2({
minimumResultsForSearch: -1,
placeholder: function(){
$(this).data('placeholder');
},
width: '100%'
});
答案 0 :(得分:1)
刚刚发现错误,最初宽度设置为0,隐藏了占位符。
使用此jquery代码进行操作。
.select2-container--default .select2-search--inline .select2-search__field{
width:initial!important;
}
现在可行了
谢谢你们。
答案 1 :(得分:1)
尝试
.select2-container .select2-search--inline:first-child {
float: none;
}
.select2-container .select2-search--inline:first-child .select2-search__field{
width: 100% !important;
}
答案 2 :(得分:0)
只需添加attr占位符
即可$("#advanced-search-status").attr("placeholder", "Select Status");
或
$('#advanced-search-status').select2({
placeholder: "Select Status"
});