$(document).ready(function () {
$(document).on('keydown', '.FIRSTNAME',
function (event) {
if (this.selectionStart == 0 && event.keyCode >= 65 && event.keyCode <= 90 && !(event.shiftKey) && !(event.ctrlKey) && !(event.metaKey) && !(event.altKey)) {
var $t = $(this);
event.preventDefault();
var char = String.fromCharCode(event.keyCode);
$t.val(char + $t.val().slice(this.selectionEnd));
this.setSelectionRange(start, end);
}
});
});
你可以使用我的代码并进行编辑吗?
差异是每个单词的第一个字母......
我只想把每个单词中的第一个字母大写
有人帮助我... tnx提前答案 0 :(得分:3)
无需使用javascript。您可以使用text-transform: capitalize;
这样的
<input type='text' name='name' class='name' style="text-transform: capitalize;" placeholder='Enter your name here'/>
答案 1 :(得分:2)
jquery以这种方式容易大写每个WORD的第一个字母,输入类型文本
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div><label>Capitalize the first letter of all words in a string: </label><input type="text" id="txt_firstCapital" name="txt_firstCapital" /></div>
<script>
jQuery(document).ready(function() {
jQuery('#txt_firstCapital').keyup(function()
{
var str = jQuery('#txt_firstCapital').val();
var spart = str.split(" ");
for ( var i = 0; i < spart.length; i++ )
{
var j = spart[i].charAt(0).toUpperCase();
spart[i] = j + spart[i].substr(1);
}
jQuery('#txt_firstCapital').val(spart.join(" "));
});
});
</script>
答案 2 :(得分:1)
这可以在JS
中使用此功能完成function firstCap(str)
{
return str.toString().replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() +
txt.substr(1).toLowerCase();});
}
答案 3 :(得分:0)
你只需要css来修复它。在您的CSS中添加以下代码。
.FIRSTNAME{
text-transform: capitalize;
}
或试试这个
<input type="text" id="txtval" style="text-transform:capitalize" />
这是有效的
注意:这不需要jquery。
答案 4 :(得分:0)
function capitalize(obj)
{
obj.value = obj.value.split(' ').map(eachWord=>
eachWord.charAt(0).toUpperCase() + eachWord.slice(1)
).join(' ');
}
<input type='text' id='textfield' onkeyup='capitalize(this)'>