Я пытаюсь показать палитру цветов Kendo, когда нажимаю на ячейку сетки Kendo.
Мой реальный код намного сложнее и генерируется в основном во время выполнения.Но вот мой код для редактора для определенного столбца сетки Кендо.
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.Может ли кто-нибудь помочь с этим?
Спасибо!
Обновление:
Я изменил код, как показано ниже:
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" +
"}" +
"}" +
");" +
"}"
);
Теперь я могу выбрать цвет из палитры цветови установите его на поле, которое я хотел.Но когда я пытаюсь открыть этот палитра цветов, он выглядит странно и показывает данные из тега из кода выше.Я пробовал так много вещей, но ничего не получалось!
![enter image description here](https://i.stack.imgur.com/p4vKv.png)
обновление: было непреднамеренное пространство.Правильный код был таким:
"$(\"<input name = '\"+options.field+\"' /> \" )"
вместо этого:
"$(\"< input name = '\"+options.field+\"' /> \" )"