动态更改Kendo Numerictextbox的字体颜色

时间:2015-02-11 18:29:50

标签: kendo-ui kendonumerictextbox

我正在使用Kendo Numeric文本框来显示十进制值。我想根据用户输入更改字体颜色。如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以通过更改输入的更改和旋转事件的样式轻松地在JQuery中执行此操作:

在数字文本框中添加事件:

 $("#numerictextbox").kendoNumericTextBox(
    {
        change: onChangeOrSpin,
        spin: onChangeOrSpin
   });

然后在事件处理程序中调用:

  function onChangeOrSpin() 
  {
       var val = this.value();
        changeFontColour(val);
  } 

  function changeFontColour(val)
    {
        if(val < 5)
        {
            $("#numerictextbox, .k-input").css('font-family','Arial');
            $("#numerictextbox, .k-input").css('font-style','italic');
            $("#numerictextbox, .k-input").css('font-weight','bold');
            $("#numerictextbox, .k-input").css('color','blue');
        }
        else
        {
              $("#numerictextbox, .k-input").css('font-family','Times New Roman');
            $("#numerictextbox, .k-input").css('font-style','normal');
           $("#numerictextbox, .k-input").css('font-weight','normal');
            $("#numerictextbox, .k-input").css('color','black');

        }
    }

这是一个工作小提琴:http://jsfiddle.net/loanburger/nwsw4yeq/

<强>更新

对于同一页面上的多个数字输入,请使用类并为每个输入添加不同的类,以便在需要更改颜色时区分。然后使用数据属性找到要更改的正确属性。

你不能使用id,因为剑道创建小部件的方式有两部分:

  1. 第一部分是编辑值的输入。这是 用户与之交互的一个。这个输入将被赋予类: numerictextbox numericOne k-input
  2. 还有一个感兴趣的第二个输入,用于在小部件失去焦点后显示该值,这个输入得到了类:k-formatted-value numerictextbox numericOne k-input
  3. 这些输入都没有获得ID,并且您不想使用本机Kendo类,因此在每个数字窗口小部件控件上使用不同的类,您可以识别要更改的颜色,因为该类将获得添加到窗口小部件的两个输入中。

    见这里:https://jsfiddle.net/loanburger/4evy3tcg/