Средство выбора цвета Kendo UI не отображает диалоговое окно для выбора цвета - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь показать палитру цветов 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

обновление: было непреднамеренное пространство.Правильный код был таким:

"$(\"<input name = '\"+options.field+\"' /> \" )"

вместо этого:

"$(\"< input name = '\"+options.field+\"' /> \" )"

1 Ответ

0 голосов
/ 13 февраля 2019

вот простое додзё, показывающее вам палитру цветов, добавляемую в сетку.https://dojo.telerik.com/aRUsUJOw

обновлённое додзё: здесь показан цвет, стилизованный под выбранный новый цвет, а не только шестнадцатеричный код цвета.https://dojo.telerik.com/aRUsUJOw/4

...