Jquery keypad 输入框应对多个文本框修改实例

本文记录了如何使用jQuery Keypad修改以适应一个输入框在达到字数限制后自动切换到下一个文本框的业务需求。通过同事的帮助,成功解决了封装对象的修改问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天对Jquery keypad 进行了修改,因为keypad是已封装对象,修改时,由于对语法以及规则不太熟悉,耗费了不少时间,不过在同事的帮助下,最终达到业务需求

业务需求,一个输入框,应对多个文本框,在某个文本框达到字数限制后,自动跳转到另一个文本框

<script>

$(document).ready(function() {
	var textInput="";
	if($("#telLastNumber").val()!=""){
		textInput= $("#telLastNumber");
	}else if($("#telMiddleNumber").val()!="" && $("#telLastNumber").val()==""){
		textInput= $("#telMiddleNumber");
	}else{
		textInput= $("#telAreaNumber");
	}

	var telKeypad = $("#acTelKeypad");

	telKeypad.keypad({
		target : textInput,
		layout : numLayout,
		clearText : 'クリア',
		backText : '訂正',
		onKeypress : telKeypad_OnKeypress,
		keypadOnly : false
	});

	function telKeypad_OnKeypress(key, value, keypad) {
		debugLog("key: " + key);

		var target = telKeypad.keypad("option", "target");
		var targetId = target.prop("id");
		var targetMaxLength = target.prop("maxlength");

		if (key == $.keypad.DEL) {
			debugLog("Clear!");

			$("input[type='text']").val("");
			telKeypad.keypad("option", "target", $("#telAreaNumber"));
		} else if (value.length >= targetMaxLength) {
			debugLog("maxLength 到着");

			if (targetId == "telAreaNumber") {
				telKeypad.keypad("option", "target", $("#telMiddleNumber"));
			} else if (targetId == "telMiddleNumber") {
				telKeypad.keypad("option", "target", $("#telLastNumber"));
			}
		} else if (value.length < 1) {
			if (targetId == "telLastNumber") {
				telKeypad.keypad("option", "target", $("#telMiddleNumber"));
			} else if (targetId == "telMiddleNumber") {
				telKeypad.keypad("option", "target", $("#telAreaNumber"));
			}
		}
	}
});
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值