我有一个文本框,我们可以在其中输入一些文本,根据输入会出现更多的文本框,这些文本框是只读的并预填充了数据。
这些字段中的数据不是标题大小写,请建议我如何仅使用 jquery 将这些数据转换为标题大小写。
这里的挑战是,填充的文本框是只读的,因此不能使用任何事件,如 onfocus、keyup、keydown、keypress。
当我使用“加载”时,文本框会出现在没有数据的页面加载上。
我有一个文本框,我们可以在其中输入一些文本,根据输入会出现更多的文本框,这些文本框是只读的并预填充了数据。
这些字段中的数据不是标题大小写,请建议我如何仅使用 jquery 将这些数据转换为标题大小写。
这里的挑战是,填充的文本框是只读的,因此不能使用任何事件,如 onfocus、keyup、keydown、keypress。
当我使用“加载”时,文本框会出现在没有数据的页面加载上。
这是一个笨蛋
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()));
})
基本思想是即时获取文本的输入,并在更改事件时将输入更新为只读。希望能帮助到你
如果您希望文本为大写,您可以执行以下操作:
$("#yourTextBoxId").val().toUpperCase();