2017-09-27 9 views
0

私の入力要素にreadonly '09'の数字を設定したいのですが、ユーザーがinput textboxに入力できますが、その中で09を編集または削除することはできません。次のコードは9桁のみです。誰もがこれで私を助けることができますか?jQueryのテキストボックス値の変更不可能な数字

$('#PhoneField').keyup(function(e) { 
 
    if ($(this).val()[0] != '9') 
 
    $(this).val('9' + $(this).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="PhoneField" class="phoneBox" maxlength="10" />

+0

あなたはもっと正確で、HTMLで完全なコードを表示することもできます –

+0

@TemaniAfif投稿編集 – sepehr

+0

@RoryMcCrossan私は私が読んだ分野を言っていないと言いました。テキストボックス内のいくつかの変更不可能な数字を言いました – sepehr

答えて

3

あなたはこれを行うことがあります。

$("#PhoneField").keydown(function(e) { 
 
var v=$(this).val(); 
 
var f=this; 
 
setTimeout(function() { 
 
    if(f.value.indexOf('09') !== 0) { 
 
     $(f).val(v); 
 
    } 
 
}, 10); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="PhoneField" value="09" class="phoneBox" maxlength="10"/>

0

$('#PhoneField').keyup(function(e) { 
 
    if (!$(this).val().startsWith("09","0")){ 
 
    $(this).val('09');} 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 
<input type="text" id="PhoneField" value="09" class="phoneBox" maxlength="10" />

+0

あなたの解決策は間違っています。私たちは '09'の前に入力を挿入することができます。また、0と9の間に数字を挿入しようとすると、奇妙な結果が表示されます –

+0

更新コードを参照 –

+0

は今のところよく見えます;) –

関連する問題