使用Kendo UI multiselect,它们已经内置在药丸容器中...您可以指定特定的tagTemplates,但这只是改变药丸容器内部的内容,而不是药丸本身。如何编辑Kendo UI Multiselect药片
我想知道是否有人会知道如何自定义选定项目的实际药丸。
谢谢你的帮助。
使用Kendo UI multiselect,它们已经内置在药丸容器中...您可以指定特定的tagTemplates,但这只是改变药丸容器内部的内容,而不是药丸本身。如何编辑Kendo UI Multiselect药片
我想知道是否有人会知道如何自定义选定项目的实际药丸。
谢谢你的帮助。
您可以使用您所选择的CSS样式上的适当选择,即
.k-multiselect li.k-button {
border-radius: 50px;
border-style: ridge;
border-width: 2px;
background-color: deeppink;
}
例子:http://dojo.telerik.com/@Stephen/AyEKE
编辑基于评论 CSS没有一个家长选择去将从tagTemplate添加到父项<li>
,将样式应用到内容/ tagTemplate本身并不包含整个标签。不过,它可以使用JavaScript完成。
我已经更新附加到复选的变化情况来执行一些JavaScript的背景颜色应用于父基于项目的一些任意值所选项目的<li>
的例子。在我的示例中,我将公司名称添加到tagTemplate的数据值,并且我的JavaScript触发器会根据名称应用不同的颜色。
更新了tagTemplate包括项目的公司名称:
tagTemplate: '<span data-companyname="#:data.CompanyName#"...
,并添加了更改事件处理程序,用于查找父节点和应用样式多选:
change: function (e) {
var selectedTags = $(".k-multiselect li.k-button");
for (var i = 0; i < selectedTags.length; i++) {
var tag = $(selectedTags[i]);
var item = $(tag.find("span.selected-value"));
if (item.data("companyname") === "Alfreds Futterkiste") {
tag.css({ "background-color": "deeppink" });
}
if (item.data("companyname") === "Ana Trujillo Emparedados y helados") {
tag.css({ "background-color": "green" });
}
// ...
}
}
现在,这不一定是实现javascript的最佳方式,但我相信你有使用javascript。
谢谢,我不知道kendo multiselect药丸的类名,并且无法在任何地方找到它们。然而,如果我想让每个药丸根据多重选择内的物品的颜色值变成不同颜色,我该如何访问这些药物。 –
不幸的是,CSS没有父级选择器,您需要选择tagTemplate的父级li来设置背景颜色。它可以使用JavaScript来完成。我已经更新了答案。 –
谢谢!正是我需要的。我添加了一个类似于你的更改函数,但我有一个动态的人员列表(每次都可能会非常不同),所以我抓住有问题的新标签(刚添加的那个标签),然后做另一个循环来循环通过multiselect中的所有人来匹配名字,然后当找到匹配时,将他们的标记颜色设置为他们选择的颜色:) –