为Kendo UI数字输入提供百分比金额

时间:2013-10-30 14:11:20

标签: javascript jquery validation kendo-ui

如何在Kendo UI数字文本框中输入百分比值,以便输入的值作为百分比?例如,如果您在文本框中输入5,则写入的基础值为5,实际上为500%。我想要的是5被视为5%,将基础值写为.05

我担心的是,我将指示用户输入一个百分比。

HTML:

My percentage: <input id="percentage" value="0.05" />

JavaScript的:

$("#percentage").kendoNumericTextBox({
    format: "p0",
    step: 0.01
});

请在此处查看jsfiddle:http://jsfiddle.net/zNLNy/844/

1 个答案:

答案 0 :(得分:2)

问题是您告诉数字文本框使用“p0”格式。然后,它希望用户输入小数百分比。这是正常行为。相反,对于您要执行的操作,您希望告诉数字文本框使用整数格式,但将值存储为十进制格式。

JsFiddle:http://jsfiddle.net/43Mjx/2/

HTML:

<div>
    <label>Enter percentage:</label>
    <input data-role="numerictextbox" data-format="d" data-bind="value: percentage, events: { change: onChange }" />
    <br/>
    <label>Value:</label> <span data-bind="text: percentageAsDecimal"></span>
</div>

JavaScript的:

var model = kendo.observable({
    percentage: 5,
    percentageAsDecimal: 0.05,
    onChange: function () {
        this.set('percentageAsDecimal', this.get('percentage') / 100);
    }
});

kendo.bind($('div'), model);