Как сделать заглавной первую букву каждого слова в текстовых полях только для чтения, используя jquery

У меня есть текстовое поле, в которое мы можем ввести некоторый текст, основываясь на вводе, появляются еще несколько текстовых полей, которые доступны только для чтения и заполнены данными.

Данные в этих полях не указаны в поле Заголовок, пожалуйста, предложите, как я могу преобразовать эти данные в поле Заголовок, используя только jquery.

Проблема здесь в том, что заполненные текстовые поля доступны только для чтения, поэтому они не могут использовать такие события, как: onfocus, keyup, keydown, keypress.

Когда я использую "загрузить", то текстовые поля появляются при загрузке страницы без данных.

2 ответа

Если вы хотите, чтобы текст был в верхнем регистре, вы можете сделать:

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

Вот плункер

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

Основная идея заключается в получении ввода текста и при изменении события, обновляя ввод только для чтения с другой. Надеюсь, поможет

Другие вопросы по тегам