如何在输入中将首字母大写? CSS方法text-transform:大写;不适合。
var positions = $('ul li');
var inputSearch = $('input');
inputSearch.val('').on('input', function(e){
var terms = this.value.toLowerCase().split(/[\s,.]+/);
positions.each(function(){
var text = this.innerText.toLowerCase();
this.hidden = !terms.every(function(term){
return text.indexOf(term) !== -1;
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input placeholder="placeholder">
<ul>
<li>wrew</li>
<li>w</li>
<li>rew</li>
</ul>
答案 0 :(得分:0)
$('ul li').each(function(index, elem){
var text = $(elem).text();
text = text.charAt(0).toUpperCase() + text.slice(1);
$(elem).text(text);
});
答案 1 :(得分:0)
您可以使用下面的代码。这段代码将在您按下按键时进行跟踪,当您按下按键时,它将获得输入的当前值(在添加按键之前)。然后它将检查输入字段中的最后一个字符是否为空格。如果是的话,它将添加到您刚按下的键(大写)到text
中。如果没有,它只会将您刚刚按下的键添加到text
然后,下次您按 any 键时,输入值将更改text
的值,该值将每个单词的首字母大写。
var text = "";
var val;
$(".input").keypress(function(e) {
val = $(this).val();
if (val[val.length - 1] == ' ') {
text += e.key.toUpperCase();
}
else {
text += e.key;
}
});
$(".input").keydown(function() {
$(this).val(text);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input placeholder="Placeholder" class="input" />