用户的文本输入 - 移动前缀应限制输入的数字量。

时间:2016-08-17 08:32:12

标签: javascript jquery

img 我有一个移动前缀输入和数字:

.//input[@id='lender_user_privacy']

我想要达到的目标是 - 如果用户在移动前缀中输入值65,则会将手机号码限制为8位数。

我不想使用maxlength,因为这会将它永远限制为8

3 个答案:

答案 0 :(得分:2)

您可以尝试以下代码:

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

如果要删除maxlength属性,请使用以下代码:

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

编辑:检查下面的代码,如果您更改#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

答案 1 :(得分: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>

答案 2 :(得分:0)

你可以用javascript实现这一目标。您可以在mobileprefix上注册keyup事件。执行键盘操作时,检查值的长度,如果为2,则将maxLength设置为6,否则设置为8.如果用户只添加1位数或者检查是否可能需要添加一些操作有真正的数字添加。

&#13;
&#13;
document.getElementById("mobileprefix").onkeyup = function() {
  if (document.getElementById("mobileprefix").value == '65') {
    document.getElementById("mobile").setAttribute("maxLength", 8);
  } 
  else {
    document.getElementById("mobile").removeAttribute("maxLength");
  }
};
&#13;
<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>
&#13;
&#13;
&#13;