【问题标题】:Auto-capitalize Jeditable input自动大写 Jeditable 输入
【发布时间】:2013-01-23 19:31:37
【问题描述】:

我在我的数据表上使用 Jeditable,我希望能够自动大写表单上的文本输入条目。如果是小写,每个字符都应该自动转换为大写字母。

我有以下代码,但我不确定在哪里可以使用 .toUpperCase() 之类的函数。

任何帮助都会很棒:)谢谢

{ maxlength: <%=tbl.SAMPLE.sizeSAMPLE_TEXT%>,
          type: 'text',
        tooltip: '<%=rb.getString("message.tooltip")%>',
        onblur: 'submit',
        "callback": function( value, settings ) {},
        onsubmit: function(settings, original) {
          var input = $("input,select,textarea", this);
          var sNewCellValue = $("input,select,textarea", $(this)).val();
          return textcheck(input[0]);
          },      
        submitdata : function(value, settings) {
          var aPos = oTable.fnGetPosition( this );
          var aData = oTable.fnGetData( aPos[0] );
          return {id: aData[<%=editinplace.colSAMPLERefId%>], column: aPos[2], action: "U"};
         },
         cssclass: "required"
      },

【问题讨论】:

  • “每个字符”是指整个字符串吗?
  • 是的,整个字符串要大写。它应该在输入时自动转换每个单独的字符。

标签: jquery html datatables jeditable


【解决方案1】:

试一试……

//向 jQuery 添加一个函数,以便我们可以在我们的 jQuery 集合上调用它

$.fn.autocapital = function () {

//遍历传入的每一个元素,$.each()比`.each()快

    $.each(this, function () {

//用空格分割这个输入的值

    var split = this.value.split(' ');

//遍历每个“单词”并将它们大写

    for (var i = 0, len = split.length; i < len; i++) {
        split[i] = split[i].charAt(0).toUpperCase() + split[i].slice(1);
    }

//重新加入字符串并设置元素的值

    this.value = split.join(' ');
});
return this;
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 2017-05-28
    • 2010-10-24
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多