Как сделать заглавной первую букву каждого слова в текстовых полях только для чтения, используя 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()));
})
Основная идея заключается в получении ввода текста и при изменении события, обновляя ввод только для чтения с другой. Надеюсь, поможет