我正在使用Select2,我使用{data: [{id:1, text: "..."}]
方法来定义选项。我想通过将使用多个空格字符组成的子字符串分组来格式化每个选项。所以像这样:
{data: [
{id:1, text: "Trees - Oak"},
{id:2, text: "Trees - Pine"},
{id:3, text: "Seas - North Sea"},
{id:4, text: "Seas - Baltic Sea"}
]}
当我这样做时,它们会在结果下拉列表中显示为一个空格(处理空格的默认HTML方式)。当我使用
而不是空格时,它们会在下拉列表中显示为字符串“
”而不是空格。
{data: [
{id:1, text: "Trees - Oak"},
{id:2, text: "Trees - Pine"},
{id:3, text: "Seas - North Sea"},
{id:4, text: "Seas - Baltic Sea"}
]}
有没有办法保留我在数据项的text
属性中定义的所有空格?
答案 0 :(得分:1)
您不想使用optgroups吗?
{data: [
{
text: "Trees",
children: [
{id:1, text: "Oak"},
{id:2, text: "Pine"},
]
},
{
text: "Seas",
children: [
{id:1, text: "North Sea"},
{id:2, text: "Baltic Sea"},
]
},
]}
或尝试添加
white-space: pre;
在select的项目的css-class中保留字符串中的所有空格。
正如koenpeters在评论中所说,默认主题css将如下所示:
.select2-container--default .select2-results__option {
white-space: pre;
}
答案 1 :(得分:0)
Yuri Gor给出的答案的替代方法是使用
并将escapeMarkup
包含在select2创建中。
$("#isOfTheSelectNode").select2({
escapeMarkup: function (m) { return m; }
});
缺点是:
option
个元素。
的项目。我认为如果你只想让多个空格被渲染,Yuri Gor的答案会更好。
答案 2 :(得分:0)
将var x = q.OrderByDescending(e => e.ShortName).ThenBy(c => SqlFunctions.IsNumeric(Order(c)));
private string Order(Contractor c)
{
var phoneNumber = c.Contacts.AsEnumerable().FirstOrDefault(p => p.Id == c.LeadingContact)?.PhoneNumber ?? "";
if (string.IsNullOrEmpty(phoneNumber) || phoneNumber.Equals("---"))
return "a";
return "1";
}
添加到您的样式
white-space: normal;