如何在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'您可以修复editRowsaveRow 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()); });