HTML加减框

HTML: 

<div style="width: 160px">

<input style="width: 50px; height: 38px; border: 2px white; float: left;" type="button" value="-" onclick="reductionOf(this)" /> 

<input style="text-align: center; width: 50px; height: 32px; float: left;" type="text" value="1" onblur="checkNumber(this)" /> 

<input style="width: 50px; height: 38px; border: 2px white;" type="button" value="+" onclick="add(this)" />

</div>

JS:

        //减数量
	function reductionOf(obj) {
                //减前判断
		if ($(obj).next().val() == '') {
			$(obj).next().val(1);
		}
		$(obj).next().val(parseInt($(obj).next().val()) - 1);//数值减
		$(obj).next().val($(obj).next().val());//赋值给框
	};
        //加数量
	function add(obj) {
                //加前判断
		if ($(obj).prev().val() == '') {
			$(obj).prev().val(1);
		}
		$(obj).prev().val(parseInt($(obj).prev().val()) + 1);//数值加
		$(obj).prev().val($(obj).prev().val());//赋值给框
	};
	//校验数字格式(只能输入正整数)
	function checkNumber(obj) {
		var reg = /^[1-9]\d*$/;
		if(!reg.test($(obj).val()) || $(obj).val()==''){
			$(obj).val(1);
		}
	}

效果:

 

HTML中,实现input元素加减主要有使用原生HTML控件和结合CSS、JavaScript自定义等方式。 ### 使用原生HTML控件 在HTML中,可以使用`input`元素的`type="number"`属性来创建一个带有加减按钮的输入。示例代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>原生input加减</title> </head> <body> <input type="number" min="0" max="100" step="1" value="50"> </body> </html> ``` 在上述代码中,`type="number"`表示该输入为数字输入。`min`和`max`属性分别指定了输入的最小值和最大值,`step`属性指定了每次点击加减按钮时数值的变化量,`value`属性指定了输入的初始值。 ### 自定义实现(结合CSS和JavaScript) 参考引用[1]给出了一个有趣的自定义多选样式,但没有涉及到加减的完整实现。下面是一个自定义加减的示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>自定义input加减</title> <style> .input-wrapper { display: inline-flex; align-items: center; } .btn { width: 30px; height: 30px; border: 1px solid #ccc; background-color: #f0f0f0; cursor: pointer; text-align: center; line-height: 30px; } .input { width: 50px; height: 30px; border: 1px solid #ccc; border-left: none; border-right: none; text-align: center; } </style> </head> <body> <div class="input-wrapper"> <div class="btn" onclick="decrease()">-</div> <input type="text" class="input" id="numberInput" value="0"> <div class="btn" onclick="increase()">+</div> </div> <script> function increase() { let input = document.getElementById('numberInput'); let value = parseInt(input.value); input.value = value + 1; } function decrease() { let input = document.getElementById('numberInput'); let value = parseInt(input.value); if (value > 0) { input.value = value - 1; } } </script> </body> </html> ``` 在上述代码中,通过自定义按钮和输入的样式,使用JavaScript实现了点击加减按钮时输入数值的变化。 ### 应用场景 - **电商网站**:在商品数量选择时,使用加减可以方便用户快速调整购买的商品数量。 - **表单填写**:在一些需要输入数量的表单中,如调查问卷、订单表单等,加减可以提高用户输入的效率。 - **计算器应用**:加减可以作为计算器的输入部分,用户可以通过点击加减按钮进行数值的调整。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值