Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在剑道UI数字输入中提供百分比金额_Javascript_Jquery_Validation_Kendo Ui - Fatal编程技术网

Javascript 在剑道UI数字输入中提供百分比金额

Javascript 在剑道UI数字输入中提供百分比金额,javascript,jquery,validation,kendo-ui,Javascript,Jquery,Validation,Kendo Ui,如何在剑道UI数字文本框中输入百分比值,以便将输入的值作为百分比?例如,如果在文本框中输入5,则写入的基础值是5,实际上是500%。我想要的是将5作为5%,将底层值写入.05 我关心的是,我将指示用户在字段中输入一个百分比 HTML: 我的百分比: JavaScript: $("#percentage").kendoNumericTextBox({ format: "p0", step: 0.01 }); var model = kendo.observable({

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

我关心的是,我将指示用户在字段中输入一个百分比

HTML:

我的百分比:
JavaScript:

$("#percentage").kendoNumericTextBox({
    format: "p0",
    step: 0.01
});
var model = kendo.observable({
    percentage: 5,
    percentageAsDecimal: 0.05,
    onChange: function () {
        this.set('percentageAsDecimal', this.get('percentage') / 100);
    }
});

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

请参见此处的JSFIDLE:

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

JsFiddle:

HTML:


为清楚起见,您的意思是希望百分比表示为十进制。您可以按照以下步骤扩展MVVM功能
var model = kendo.observable({
    percentage: 5,
    percentageAsDecimal: 0.05,
    onChange: function () {
        this.set('percentageAsDecimal', this.get('percentage') / 100);
    }
});

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