2016-08-17 17 views
0

img 私はモバイルプレフィックスと番号の入力を持っている: - ユーザーはモバイルプレフィックスに値65を入力した場合、それは8桁に携帯電話番号を制限するユーザのテキスト入力 - モバイルプレフィックスは、入力された桁数を制限する必要があります。

<div class="two columns"> 
    <input class="sgprefix" id="mobileprefix" name="mobileprefix" type="text"> 
    </div> 
    <div class="nine columns"> 
    <input id="mobile" name="mobile" type="text" class="input numeric-only"> 
    </div> 

私が達成しようとしている何がということです。私はそのようMAXLENGTHを使用したくない

は永遠8に

+0

そしてそれは、携帯電話番号が接頭辞_after_ 65で始めることはできませんことを考えると絶対的なのですか? – CBroe

+0

私はあなたの質問に従っていません - \t 私はあなたが値65を入力したかどうかをチェックしたいだけです。それは携帯番号が8桁に制限されています –

+0

私は尋ねています。接頭辞 - つまり、その数は6565 ... - その状況では桁数を8に制限することに意味がありますか? – CBroe

答えて

2

を、それが制限されますあなたは、このコードを試すことができます。

$('#mobile').keyup(function(){  
var count=$('#mobileprefix').val(); 
     if(count=="65"){ 
      $(this).attr('maxlength','8'); 
     } 
    else{ 
     $(this).attr('maxlength','10'); } 
}); 

あなたはmaxlength属性は、このコードを使用削除する場合:

$(this).removeAttr('maxlength'); 

EDIT:下記のコードを確認してください。#mobileprefixの値を変更すると、それに応じて変更されます。

(function(){ 

    $('#mobile').keyup(function(){  
var count=$('#mobileprefix').val(); 
     if(count=="65"){ 
      $(this).attr('maxlength','8'); 

     } 
    else{ 
     $(this).removeAttr('maxlength'); } 
}); 

$('#mobileprefix').keyup(function(){ 
    if($(this).val()=="65"){ 
     $('#mobile').val($('#mobile').val().substring(0,8)); 
     } 
    }); 
    }()); 

JSFIDDLE LINK

0

あなたはjavascriptとのことをachiveことができます。あなたのmobileprefixにkeyupイベントを登録することができます。キーアップアクションが実行されると、値の長さをチェックし、2の場合はmaxLengthを6に設定します。それ以外の場合は8に設定します。ユーザーが1桁を追加する場合や、本当に数字が追加されています。

document.getElementById("mobileprefix").onkeyup = function() { 
 
    if (document.getElementById("mobileprefix").value == '65') { 
 
    document.getElementById("mobile").setAttribute("maxLength", 8); 
 
    } 
 
    else { 
 
    document.getElementById("mobile").removeAttribute("maxLength"); 
 
    } 
 
};
<div class="two columns"> 
 
    <input class="sgprefix" id="mobileprefix" name="mobileprefix" type="text"> 
 
</div> 
 
<div class="nine columns"> 
 
    <input id="mobile" name="mobile" type="text" class="input numeric-only"> 
 
</div>

+0

私は、ユーザーが値65を入力したかどうかを確認したいだけで、携帯番号の数字を8桁に制限します。クラスsgprefixを使用することもできます。 –

1

あなたの目的を果たすために、次のコードスニペットを使用することができます。 .sgprefixの値が変更された場合は、65かどうかを確認し、数値フィールドにはmaxlength属性を設定します。それ以外の場合はmaxlength属性を削除します。

$(document).ready(function() { 
 
    $('.sgprefix').change(function() { 
 
    if ($(this).val() == 65) { 
 
     $('#mobile').attr('maxlength', 8); 
 
    } else { 
 
     $('#mobile').removeAttr('maxlength'); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="two columns"> 
 
    <input class="sgprefix" id="mobileprefix" name="mobileprefix" type="text"> 
 
</div> 
 
<div class="nine columns"> 
 
    <input id="mobile" name="mobile" type="text" class="input numeric-only"> 
 
</div>

関連する問題