我正在构建一个自定义的kendo网格,在编辑行时我需要验证一些特殊的字符。 我正处于可以获取输入值然后删除所有未接受的字符并将新字符串设置为input.val()的位置,在浏览器控制台中设置了值但在网格中这个字符是可见的。 我花了一些研究试图找到一个text()属性,但没有运气,任何想法都会受到赞赏。
这是我将值设置为相同输入的地方:
var strFinal='';
var str = input.val().split('');
for (var x = 0; x < str.length; x++) {
if (str[x] == ' ' || str[x] == 'ñ' || str[x] == 'Ñ' || str[x] == '.' || (str[x] >= '0' && str[x] <= '9') || (str[x] >= 'A' && str[x] <= 'Z') || (str[x] >= 'a' && str[x] <= 'z')) {
strFinal += str[x];
}};
input.val(strFinal);
console.log(input);
return true;
这里是控制台日志,我在其中看到了值,但在网格中文本仍然存在。
答案 0 :(得分:0)
您必须使用&#39;设置&#39;更新值的方法。查看link
如果您提供更好的网格图像和更多解释,我们可能会进一步提供帮助。
您可以使用&#39;保存&#39;网格的功能是调用上一个链接中的函数而不是单击。有一个example
var grid = $("#grid").kendoGrid({
dataSource: dataSource,
pageable: true,
height: 430,
toolbar: ["create"],
columns: [
"ProductName",
{ field: "UnitPrice", title: "Unit Price", format: "{0:c}"},
{ field: "UnitsInStock", title:"Units In Stock"},
{ field: "Discontinued"},
],
editable: true,
save: function(data) {
data.model.set("ProductName", "New Name");
}
}).data("kendoGrid");
});