在keydown输入上大写字符串的第一个字母

时间:2017-11-28 09:38:37

标签: javascript jquery

当我在文本框上书写时,我想将第一个字母更改为大写字母。

我写了下面的代码,但是它改变了css风格的字母,当我用表单发送它时,它首先用小字发送它。 我如何转换为jquery?

这是我的代码:

$('.capital').css('textTransform', 'capitalize');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="text" value="" class="capital"/>

2 个答案:

答案 0 :(得分:0)

使用toUpperCasesubstr获取第一个字母并将其设为大写字母。

   
$(".capital").focusout(function() {
    var yourtext = $(this).val();
    alert(yourtext.substr(0, 1).toUpperCase() + yourtext.substr(1));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="text" value="" class="capital"/>

答案 1 :(得分:0)

此代码始终将第一个字母更改为大写。我认为这样做很糟糕。

var firstCapitalAlways= function (event) {
    var val = $(event.target).val();
    var firstLetterUpper = val[0] ? val[0].toUpperCase() : "";
    $(event.target).val(firstLetterUpper + val.substr(1, val.length));
}
 
var firstCapitalOnBlur = function(event) {
    var val = $(event.target).val();
    if(val){
        $(event.target).val(val[0].toUpperCase() + val.substr(0, val.length))
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<label>Always</label>
<input type="text" value="" onkeyup="firstCapitalAlways(event);" class="capital"/>
<label>Onblur</label>
<input type="text" value="" onblur="firstCapitalOnBlur(event);" class="capital"/>