.//input[@id='lender_user_privacy']
我想要达到的目标是 - 如果用户在移动前缀中输入值65,则会将手机号码限制为8位数。
我不想使用maxlength,因为这会将它永远限制为8
答案 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));
}
});
}());
答案 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位数或者检查是否可能需要添加一些操作有真正的数字添加。
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;