如何使用jquery在只读文本框中大写每个单词的首字母

时间:2016-03-04 12:03:33

标签: jquery textbox readonly title-case

我有一个文本框,我们可以在其中输入一些文本,根据输入的几个文本框出现,这些文本框是只读的并预先填充数据。

这些字段中的数据不属于标题案例,请建议如何仅使用jquery在标题案例中转换该数据。

这里的挑战是,填充的文本框是只读的,因此无法使用任何事件,如onfocus,keyup,keydown,keypress。

当我使用' load'然后在没有数据的情况下加载页面时出现文本框。

2 个答案:

答案 0 :(得分:0)

如果您希望文本为大写,则可以执行以下操作:

$("#yourTextBoxId").val().toUpperCase();

答案 1 :(得分:0)

这是一个plunker

https://plnkr.co/edit/3tRw13KQ2HgpfwX7dJPx?p=preview

function titleCase(str) {
   var splitStr = str.toLowerCase().split(' ');
   for (var i = 0; i < splitStr.length; i++) {
       // You do not need to check if i is larger than splitStr length, as your for does that for you
       // Assign it back to the array
       splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);     
   }
   // Directly return the joined string
   return splitStr.join(' '); 
}


  $('#writtable').on('change',function(e){
    $('#pepe').val(titleCase($('#writtable').val()));
  })

基本思想是获取文本输入和更改事件更新输入只读另一方。希望它有所帮助