-1

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

这些字段中的数据不是标题大小写,请建议我如何仅使用 jquery 将这些数据转换为标题大小写。

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

当我使用“加载”时,文本框会出现在没有数据的页面加载上。

4

2 回答 2

0

这是一个笨蛋

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()));
  })

基本思想是即时获取文本的输入,并在更改事件时将输入更新为只读。希望能帮助到你

于 2016-03-04T12:09:38.260 回答
0

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

$("#yourTextBoxId").val().toUpperCase();
于 2016-03-04T12:06:01.937 回答