我有一个要求我有一个输入字段maxLength 4。在这4个字符中,前2个字符是“FR”。剩下的2个字符将由用户插入。因此,在页面加载期间,我调用了一个Jquery函数并设置了值“FR”,如下所示
$('.testData').val("FR");
**现在,当用户编辑剩下的两个字符时,他将不能编辑文本“FR”,也不能删除文本“FR”
通过设置
<input type="text" readonly>
它将使整个输入字段不可编辑,我不希望这样,我只想对前两个字符的编辑设置限制。
有人能对此给出解决办法吗???
最佳答案
一个老套的解决方案,但有点用JS来实现。
<input id="myId" type="text" value="AZ"></input>
$("#myId").keydown(function(event){
console.log(this.selectionStart);
console.log(event);
if(event.keyCode == 8){
this.selectionStart--;
}
if(this.selectionStart < 2){
this.selectionStart = 2;
console.log(this.selectionStart);
event.preventDefault();
}
});
$("#myId").keyup(function(event){
console.log(this.selectionStart);
if(this.selectionStart < 2){
this.selectionStart = 2;
console.log(this.selectionStart);
event.preventDefault();
}
});
小提琴!