如何使输入字段中的某些文本不可编辑?

时间:2014-04-18 15:22:05

标签: jquery html

我要求我有一个输入字段maxLength 4.这4个字符前两个字符将是" FR"。用户将插入剩余2个字符。所以,在页面加载期间我调用Jquery函数并设置值" FR"像这样

  $('.testData').val("FR"); 

**现在,当用户编辑剩余的两个角色时,他将无法编辑该文字" FR" 他被允许删除此文本" FR"

设置

<input type="text" readonly>

它会使整个输入字段不可编辑,我不想要这样,我只想对前2个字符进行编辑限制。

任何人都可以给出任何解决方案???

1 个答案:

答案 0 :(得分:3)

一个hacky解决方案,但有点使用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();
    }
});

小提琴here