jQuery实现点击“+”“-”加减号改变文本框数值


<!doctype html>

<html>

<head>

<meta charset="utf-8"/>

<title>jQuery实现点击“+”“-”加减号改变文本框数值_网页代码站(www.webdm.cn)</title>

<script src="http://www.webdm.cn/themes/script/jquery.js"></script>

<style>

/*demo css*/

.i_tips{height:30px;margin-left:20px;color:#f60;font-size:14px;line-height:30px}

.i_box{margin:10px 20px;font-size:14px;float:left}

.i_box *{vertical-align:middle}

.i_box a{padding:2px 5px;background-color:#e9e9e9;border:1px solid #ccc;text-decoration:none;color:#585858;line-height:20px}

.i_box a:hover{color:#000}

.i_box input{width:30px;height:18px;margin:0 8px;padding:2px;border:1px solid #ccc;text-align:center;line-height:16px}

</style>

</head>

<body>

<!--DEMO start-->

<div id="demo">

<div class="i_tips"></div>

 

 <%--这个五个控件,用的时候可以根据具体要求增减--%>    

<div class="i_box"><a href="javascript:;" class="J_minus">-</a><input type="text" value="0" class="J_input" /><a href="javascript:;" class="J_add">+</a></div>

    <div class="i_box"><a href="javascript:;" class="J_minus">-</a><input type="text" value="0" class="J_input" /><a href="javascript:;" class="J_add">+</a></div>

    <div class="i_box"><a href="javascript:;" class="J_minus">-</a><input type="text" value="0" class="J_input" /><a href="javascript:;" class="J_add">+</a></div>

    <div class="i_box"><a href="javascript:;" class="J_minus">-</a><input type="text" value="0" class="J_input" /><a href="javascript:;" class="J_add">+</a></div>

    <div class="i_box"><a href="javascript:;" class="J_minus">-</a><input type="text" value="0" class="J_input" /><a href="javascript:;" class="J_add">+</a></div>

</div>

<script>

$.fn.iVaryVal=function(iSet,CallBack){

/*

 * Minus:点击元素--减小

 * Add:点击元素--增加

 * Input:表单元素

 * Min:表单的最小值,非负整数

 * Max:表单的最大值,正整数

 */

iSet=$.extend({Minus:$('.J_minus'),Add:$('.J_add'),Input:$('.J_input'),Min:0,Max:20},iSet);

var C=null,O=null;

//插件返回值

var $CB={};

//增加

iSet.Add.each(function(i){

$(this).click(function(){

O=parseInt(iSet.Input.eq(i).val());

(O+1<=iSet.Max) || (iSet.Max==null) ? iSet.Input.eq(i).val(O+1) : iSet.Input.eq(i).val(iSet.Max);

//输出当前改变后的值

$CB.val=iSet.Input.eq(i).val();

$CB.index=i;

//回调函数

if (typeof CallBack == 'function') {

                CallBack($CB.val,$CB.index);

            }

});

});

//减少

iSet.Minus.each(function(i){

$(this).click(function(){

O=parseInt(iSet.Input.eq(i).val());

O-1<iSet.Min ? iSet.Input.eq(i).val(iSet.Min) : iSet.Input.eq(i).val(O-1);

$CB.val=iSet.Input.eq(i).val();

$CB.index=i;

//回调函数

if (typeof CallBack == 'function') {

CallBack($CB.val,$CB.index);

   }

});

});

//手动

iSet.Input.bind({

'click':function(){

O=parseInt($(this).val());

$(this).select();

},

'keyup':function(e){

if($(this).val()!=''){

C=parseInt($(this).val());

//非负整数判断

if(/^[1-9]\d*|0$/.test(C)){

$(this).val(C);

O=C;

}else{

$(this).val(O);

}

}

//键盘控制:上右--加,下左--

if(e.keyCode==38 || e.keyCode==39){

iSet.Add.eq(iSet.Input.index(this)).click();

}

if(e.keyCode==37 || e.keyCode==40){

iSet.Minus.eq(iSet.Input.index(this)).click();

}

//输出当前改变后的值

$CB.val=$(this).val();

$CB.index=iSet.Input.index(this);

//回调函数

if (typeof CallBack == 'function') {

                CallBack($CB.val,$CB.index);

            }

},

'blur':function(){

$(this).trigger('keyup');

if($(this).val()==''){

$(this).val(O);

}

//判断输入值是否超出最大最小值

if(iSet.Max){

if(O>iSet.Max){

$(this).val(iSet.Max);

}

}

if(O<iSet.Min){

$(this).val(iSet.Min);

}

//输出当前改变后的值

$CB.val=$(this).val();

$CB.index=iSet.Input.index(this);

//回调函数

if (typeof CallBack == 'function') {

                CallBack($CB.val,$CB.index);

            }

}

});

}

//调用

$( function() {

$('.i_box').iVaryVal({},function(value,index){

//网页显示以下内容,可以隐藏掉

$('.i_tips').html('你点击的表单索引是:'+index+';改变后的表单值是:'+value);

});

});

</script>

 

 

<br>

<p><a href="http://www.webdm.cn">网页代码站</a> - 最专业的网页代码下载网站 - 致力为中国站长提供有质量的网页代码!</p>

</body>

</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值