我有一个kendoNumericTextBox.我有代码设置与kendoNumericTextBox关联的input元素的值.例如,代码调用:
$('#myId').val('test');
Run Code Online (Sandbox Code Playgroud)
不幸的是,kendo数字文本框不会自动反映该值.如何告诉kendoNumericTextBox更新其值?我知道kendoNumericTextBox上有一个方法如下:
$('#myId').data('kendoNumericTextBox').value('test');
Run Code Online (Sandbox Code Playgroud)
但是,我填充了很多字段,并不确定哪些字段是kendoNumericTextBox字段.因此,我更愿意使用所选插件来调用基于底层组件刷新值的内容.例如,使用所选的插件,我可以调用:
$('.chosen').trigger('liszt:updated');
Run Code Online (Sandbox Code Playgroud)
根据基础选择组件的值更新所有值.
这里的问题是在kendogrid列菜单过滤器中没有限制过滤我不需要负值.在第二个图像中输入箭头时它的负值是否如何限制负值?

看看在MVVM例子在这里:
如何在旋转事件上获取MVVM值(单击向上或向下箭头)
这是我尝试过的:
在旋转事件中,我试图这样做
$("#ntb").getKendoNumericTextBox().trigger("change");
Run Code Online (Sandbox Code Playgroud)
这有效,但有副作用.
如果DOM上有足够的元素,则旋转事件将继续触发.
将其插入HTML文件,将其加载到Chrome或FF中,然后在此行插入一个断点:
$("#ntb").getKendoNumericTextBox().trigger("change");
Run Code Online (Sandbox Code Playgroud)
继续点击继续,您将看到断点一次又一次地被击中.
在firefox中,如果我的DOM足够大,我会得到一个没有断点的repro.
考虑我有一个kendo网格,如
http://jsbin.com/uxumab/1/
它有ItemId,Qty,Price和Total(模板)列.我想让Qty列可编辑,并希望通过更改Qty列来更改总列值.最后,我想使用迭代通过网格检索所有值的新更改.
我有一个Kendo NumericTextBox,我想在其中将文本与一些填充对齐.
这是telerik的演示页面:http://demos.kendoui.com/web/numerictextbox/index.html
我已经应用了以下样式,它将文本对齐:
/*Right align numeric text*/
.k-numerictextbox .k-input {
text-align: right;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,每当我添加填充时,向上/向下箭头都会被压扁而不是我的文本移位.
我已经尝试将box-sizing设置为border-box,但是不能完全正确.
有css技能的人想看看吗?
我已经这样做了,但它不起作用
$("#txtLowValue").val('');
$("#txtLowValue").val();
Run Code Online (Sandbox Code Playgroud)
这是文本框
$('#txtLowValue').kendoNumericTextBox({
format: "##",
decimals: 0,
spinners: false,
min: 0,
max: 999998
});
Run Code Online (Sandbox Code Playgroud) 我有这个HTML.双击我要禁用/启用下拉列表:
<tr>
<td><label id="labelId" >My Label</label></td>
<td><input type="text" id="myInput" data-bind="kendoDropDownList: { data: source, value: myValue, enable: true }" /></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我能够使用kendo Api 从这里操作子元素的属性来解决这个问题:
$('tr').dblclick(function() {
var $kd = $(this).find('input').data("kendoDropDownList");
$kd.enable( $kd.element.is(':disabled') );
});
Run Code Online (Sandbox Code Playgroud)
我有一个kendoui数字小部件.似乎kendoui框架正在添加一些额外的html元素,最终的html看起来像这样:
<tr>
<td><label id="labelId" >My Label</label></td>
<td><input class="k-formatted-value k-input" style="display: inline-block;" type="text" readOnly="readonly"/>
<input name="Afk" class="k-input" id="Afk" style="display: none;" type="text" data-bind="kendoNumericTextBox: { value: Afk, min:1, max:10000, step:1, format: 'd'}" data-role="numerictextbox" required=""/>
<td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我试过这个:
$('tr').dblclick(function () {
var $ntb = $(this).find('input').data("kendoNumericTextBox");
$ntb.enable($ntb.element.is(':disabled'));
});
Run Code Online (Sandbox Code Playgroud)
但这不起作用我认为因为有两个输入.我的问题是如何在doubleclick上启用/禁用数字小部件,类似于禁用kendodropdown的方式?
由于某种原因,我的 numericTextbox 在剑道模板中仍然显示小数和小数点后的数字。我按照其他答案设置了decimals =“0”和format =“#”的属性,但无济于事。
代码:
<table>
<tbody>
# for (var i = 0; i < data.length; i++) { #
<tr>
<td>
<input type="number" data-role="numerictextbox" value="#= data[i].Copies #"
decimals="0" format="\\#" min="1" class="copies" style="width:60px;"/>
</td>
</tr>
# } #
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用带有角度验证(ng-required)的剑道数字文本框,但是我无法让它工作。此元素上的 ng-required 属性对表单验证状态没有影响。
根据我的理解,这不起作用的原因是因为剑道数字文本框使用 k-ng-model 来存储它的值,而角度验证仅适用于 ng-model。
有没有其他人看到过这个问题,有什么解决方法吗?
我需要将数字字段设置为仅整数,以便该字段不接受小数。我什至不希望该字段近似,只是不接受点或逗号。
根据文化,它接受数字分隔符(例如 EN 是点,IT 是逗号)
这是我尝试过的代码
$("#numerictextbox").kendoNumericTextBox({
culture: "en-US",
step: 500,
spinners: false,
format: "#",
decimals: 0
});Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.1023/styles/kendo.common.min.css"/>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.1023/styles/kendo.rtl.min.css"/>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.1023/styles/kendo.silver.min.css"/>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.3.1023/styles/kendo.mobile.all.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.3.1023/js/kendo.all.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.3.1023/js/cultures/kendo.culture.en-US.min.js?bust=v21"></script>
</head>
<body>
<input id="numerictextbox" />
</body>
</html>Run Code Online (Sandbox Code Playgroud)
在这里您可以找到带有意大利文化示例的道场链接,在本例中它会阻止逗号
我猜想随着剑道论坛工作方式的即将发生的变化(只有付费用户),在那里得到问题答案的可能性很小,所以我会在这里尝试......
我已经设置了一个可编辑的网格,它使用两个数字字段的自定义验证器.验证器使用ajax查询获取有效参数(但我认为这不重要).
这一切都有效,但我需要NumericTextBoxes支持4个小数位,默认情况下它们不支持.
我为这些字段创建了自定义网格编辑器,这允许我输入4个小数位,但它会破坏自定义验证.
如何在编辑模式下使NumericTextBox支持4个小数位并允许自定义验证规则?
提前致谢
这是字段定义,我正在使用验证器:
end: { type: 'number', validation: {
end: function(input){
if (input.attr('name')=='end' && $('input[name=lookup]').val()!=''){
$.ajax({
type: 'post',
url: '/ajax/lookupParams',
data: { lookup:$('input[name=lookup]').val(), csrf_token: token },
success: function(data) {
start = data.start;
end = data.end
},
dataType: 'json',
async: false
});
input.attr('data-end-msg', 'End must be between '+start+' and '+end);
return (input.val() >= start && input.val() <= end);
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
此位有效--ajax用于根据查找字段的当前值检索有效的开始值和结束值.如果我使用自定义编辑器支持4位小数,它就会停止工作.
尝试向 Kendo NumericTextBox 中的数字添加 % 符号。他们建议像这样转义 % 符号:
$("#numeric").kendoNumericTextBox({
format: "# \%"
});
Run Code Online (Sandbox Code Playgroud)
但是当我给它 3 的值时,它仍然给我 300%!
从剑道文档:
"%" - 百分比占位符将一个数字乘以 100 并在结果字符串中插入一个本地化的百分比符号。注意:'%' 符号被解释为格式字符串中的格式说明符。如果您需要防止这种情况发生,您需要在 '%' 符号前加上一个反斜杠 -
'kendo.toString(12, "# \%")'-> 12 % (en-us)。