如何输入首字母大写?

时间:2019-04-15 16:30:20

标签: javascript jquery

如何在输入中将首字母大写? 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>

2 个答案:

答案 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" />