如何在jqgrid中实现大写转换
Producr代码只能包含大写字符。 如果输入小写字符,jqgrid不会将它们转换为大写,则没有这样的选项。 如何在文本字段的内联和表单编辑模式下强制jqgrid中输入字符的大写转换?
更新
我找到了如何在ASP.NET文本框中强制输入为大写的代码? 最后的答案。 此代码在keypress中以大写forms更改输入的字符。 通过将keyprees事件处理程序添加到jqgrid编辑控件来使用它是否合理?
function ToUpper() { // So that things work both on FF and IE var evt = arguments[0] || event; var char = String.fromCharCode(evt.which || evt.keyCode); // Is it a lowercase character? if (/[az]/.test(char)) { // convert to uppercase version if (evt.which) { evt.which = char.toUpperCase().charCodeAt(0); } else { evt.keyCode = char.toUpperCase().charCodeAt(0); } } return true; }
像这样使用:
首先,您可以使用CSS样式text-transform: uppercase
来显示用户以大写forms输入的数据:
editoptions: { dataInit: function (el) { $(el).css('text-transform', 'uppercase'); }}
该设置不会更改数据本身。 所以你必须另外做相应的修改。 在表单编辑的情况下,您可以使用beforeSubmit
。 例如,让我们为您保留大写的'name'
列。 然后首先在dataInit
(见上文)中添加text-transform: uppercase
的设置并添加
beforeSubmit: function (postData) { postData.name = postData.name.toUpperCase(); return [true, '']; }
beforeSubmit
联编辑的情况下,没有beforeSubmit
回调函数。 所以你可以使用serializeRowData
如果你有远程数据:
serializeRowData: function (postData) { postData.name = postData.name.toUpperCase(); return postData; }
如果使用editurl: 'clientArray'
您可以修复editRow
和saveRow
aftersavefunc
参数中的数据:
aftersavefunc: function (rowid) { var $grid = $(this), newName = $grid.jqGrid("getCell", rowid, 'name'); $grid.jqGrid("setCell", rowid, 'name', newName.toUpperCase()); }
看演示 。
尝试:
$(document).ready(function(){ $("div").text("lower case."); var UCASE = $("div").text($("div").text().toUpperCase()); alert(UCASE); });
要么
$(document).ready(function(){ var strVal = 'lowerCase!!' ; alert(strVal.toUpperCase()); });