当我单击 Kendo 网格的单元格时,我尝试显示 Kendo 颜色选择器。
我的实际代码要复杂得多,并且大部分是在执行时生成的。但是,这是我针对 Kendo Grid 特定列的编辑器代码。
editor: function(container, options){
var color = document.createElement('input');
color.setAttribute('type', 'color');
color.setAttribute('id', 'myColorField');
container.show();
$('#myColorField').appendTo(container).kendoColorPicker(
{
buttons: true
}
);
}
我没有收到任何错误,但是,当我单击单元格进行编辑时,没有出现颜色选择窗口。 (单击单元格时只有文本消失。) 我对 Kendo UI 很陌生。有人可以帮忙吗?
谢谢!
更新:
我将代码更改如下:
editor: function(container, options){
var color = document.createElement('input');
color.setAttribute('type', 'color');
color.setAttribute('class', 'myColorField');
container.show();
$(this).find('.myColorField').appendTo(container).kendoColorPicker(
{
buttons: true
}
);
}
还是没有运气!
更新:替代方法,但仍然不起作用!
editor: function(container, options){
$("< input type = 'color' data-bind = 'value:" + prop.Name + "' /> " ).appendTo(container).kendoColorPicker({buttons: true});
}
更新:部分工作代码!
sb.Append(", editor: function(container, options){ " +
"console.log(container);" +
"$(\"< input name = '\"+options.field+\"' /> \" )" +
".appendTo(container)" +
".kendoColorPicker(" +
"{" +
"buttons: true, " +
"value: options.model." + prop.Name+ "," +
"select: function(e) {" +
"options.model." + prop.Name + " = e.value" +
"}" +
"}" +
");" +
"}"
);
我现在可以从颜色选择器中选择颜色并将其设置为我想要的字段。但是,当我尝试打开这个颜色选择器时,它看起来很奇怪,并且显示了上面代码中标签的数据。我尝试了很多方法,但是没有任何效果!
更新:有一个意外的空格。正确的代码是这样的:
"$(\"<input name = '\"+options.field+\"' /> \" )"
而不是这个:
"$(\"< input name = '\"+options.field+\"' /> \" )"
最佳答案
这是一个简单的 dojo,向您展示了一个被添加到网格中的颜色选择器。 https://dojo.telerik.com/aRUsUJOw
更新道场: 这显示了使用所选新颜色进行样式化的颜色,而不仅仅是十六进制颜色代码。 https://dojo.telerik.com/aRUsUJOw/4
关于javascript - Kendo UI 颜色选择器不显示选择颜色的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54675721/