Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery加减递增器_Jquery - Fatal编程技术网

Jquery加减递增器

Jquery加减递增器,jquery,Jquery,我希望有一个客户端加减系统,用户可以单击加号,然后一个值增加1,减号,然后值减少1,该值不应该低于零,应该从0开始。有没有一种方法可以简单地在jquery中实现这一点?所有jquery插件都会针对此操作查看位OTT 谢谢你的帮助,助教 var currentValue = 0; $(document).ready(function() { $('#up').click(function() { currentValue++; }); $('#down').click(fun

我希望有一个客户端加减系统,用户可以单击加号,然后一个值增加1,减号,然后值减少1,该值不应该低于零,应该从0开始。有没有一种方法可以简单地在jquery中实现这一点?所有jquery插件都会针对此操作查看位OTT

谢谢你的帮助,助教

var currentValue = 0;

$(document).ready(function() {
  $('#up').click(function() {
    currentValue++;
  });
  $('#down').click(function() {
    if (currentValue > 0) {
      currentValue--;
    }
  });
});
currentValue
放在文本字段或其他元素中会很简单。

类似这样的内容:

HTML:

5
$('#plus')。单击(函数(){changeValue(1);});
$('#减号')。单击(函数(){changeValue(-1);});
函数更改值(val){
变量容器=$(“#值”);
var current=parseInt(container.html(),10);
html(Math.max(0,current+val.toString());
}
当然可以,例如:

<span id="minus"> - </span>       
<span id="value"> 0 </span>
<span id="plus"> + </span>

<script type="text/javascript">  
   $(function() {
      var value = parseInt($('#value').text(value));

      $('#minus').click(function() {
         if (value == 0) return;
         value--;
         $('#value').text(value);
      }

      $('#plus').click(function() {
         value++;
         $('#value').text(value);
      }
  });
</script>
-
0
+ 
$(函数(){
var value=parseInt($('#value').text(value));
$('#减')。单击(函数(){
如果(值==0)返回;
价值--;
$('#value')。文本(value);
}
$('#plus')。单击(函数(){
值++;
$('#value')。文本(value);
}
});
jquery部分

// initialize counter
var counter = 0;

// set the + functionality
$('#plus').click( function(){$('#display').html( ++counter )} );
// set the - functionality
$('#minus').click( function(){$('#display').html( (counter-1<0)?counter:--counter )} );
// initialize display
$('#display').html( counter );
//初始化计数器
var计数器=0;
//设置+功能
$('#plus')。单击(function(){$('#display').html(++计数器)});
//设置-功能

$(“#减”)。单击(function(){$(“#display”).html((counter-1这实际上是内置于jQuery中的-

一种非常简单的方法,可以在没有jQuery的情况下执行此操作

<script language=javascript>
function process(v){
    var value = parseInt(document.getElementById('v').value);
    value+=v;
    document.getElementById('v').value = value;
}
</script>

<input type=button value='-' onclick='javascript:process(-1)'>
<input type=test size=10 id='v' name='v' value='0'>
<input type=button value='+' onclick='javascript:process(1)'>

功能流程(五){
var value=parseInt(document.getElementById('v').value);
值+=v;
document.getElementById('v')。value=value;
}

这是我比较复杂的版本,您只需将类“mkdminusplus”赋予您的div即可:
然后添加

<script>
jQuery(function(){

  jQuery('.mkdminusplus').append('<span class="mkdminus"><i class="icon-minus-sign"></i></span><input class="mkdvalue" type="number" value=""><span class="mkdplus"><i class="icon-plus-sign"></i></span>');

  jQuery('.mkdminusplus').each(function(){
    if (jQuery(this).attr('defaultval') == undefined) jQuery(this).attr('defaultval','0');
    jQuery(this).find('.mkdvalue').val(jQuery(this).attr('defaultval'));
  });
  jQuery('.mkdminus').bind('click',  function() {
        valueElement=jQuery(this).parent().find('.mkdvalue');
        defaultval=(jQuery(this).parent().attr('defaultval') !== 'undefined' && jQuery(this).parent().attr('defaultval') !== 'false' )?jQuery(this).parent().attr('defaultval'):jQuery(this).parent().attr('defaultval','0');
        console.log(jQuery.isNumeric(parseInt(valueElement.val())))
        if (!jQuery.isNumeric(parseInt(valueElement.val()))) valueElement.val(defaultval);
        var increment=-1;
        valueElement.val(Math.max(parseInt(valueElement.val()) + increment, 0));
  });


   jQuery('.mkdplus').bind('click',  function() {
        valueElement=jQuery(this).parent().find('.mkdvalue');
        defaultval=(jQuery(this).parent().attr('defaultval') !== undefined && jQuery(this).parent().attr('defaultval') !== 'false' )?parseInt(jQuery(this).parent().attr('defaultval')):parseInt(jQuery(this).parent().attr('defaultval','0'));
        console.log(jQuery.isNumeric(parseInt(valueElement.val())))
        if (!jQuery.isNumeric(parseInt(valueElement.val()))) valueElement.val(defaultval);
        var increment=1;
        valueElement.val(Math.max(parseInt(valueElement.val()) + increment, 0));
  });

  jQuery('.mkdvalue').on('keyup', function () {
        jQuery(this).val(jQuery(this).val().replace(/[^0-9]/gi, ''));
  });

});

</script>

jQuery(函数(){
jQuery('.mkdminusplus').append('');
jQuery('.mkdminusplus')。每个(函数(){
if(jQuery(this.attr('defaultval')==未定义)jQuery(this.attr('defaultval','0');
jQuery(this.find('.mkdvalue').val(jQuery(this.attr('defaultval')));
});
jQuery('.mkdminus').bind('click',function(){
valueElement=jQuery(this.parent().find('.mkdvalue');
defaultval=(jQuery(this.parent().attr('defaultval')!='undefined'&&jQuery(this.parent().attr('defaultval')!='false')?jQuery(this.parent().attr('defaultval'):jQuery(this.parent().attr('defaultval'),'0');
log(jQuery.isNumeric(parseInt(valueElement.val()))
如果(!jQuery.isNumeric(parseInt(valueElement.val()))valueElement.val(defaultval);
var增量=-1;
valueElement.val(Math.max(parseInt(valueElement.val())+增量,0));
});
jQuery('.mkdplus').bind('click',function(){
valueElement=jQuery(this.parent().find('.mkdvalue');
defaultval=(jQuery(this.parent().attr('defaultval')!==未定义和jQuery(this.parent().attr('defaultval')!='false')?parseInt(jQuery(this.parent().attr('defaultval')):parseInt(jQuery(this.parent().attr('defaultval','0');
log(jQuery.isNumeric(parseInt(valueElement.val()))
如果(!jQuery.isNumeric(parseInt(valueElement.val()))valueElement.val(defaultval);
var增量=1;
valueElement.val(Math.max(parseInt(valueElement.val())+增量,0));
});
jQuery('.mkdvalue')。on('keyup',function(){
jQuery(this.val)(jQuery(this.val().replace(/[^0-9]/gi');
});
});

我已经为按钮使用了引导图标,但您也可以硬编码-和+作为它!;-)希望它能帮助其他人!

如果有人希望页面上有超过1个递增输入字段。 检查是否单击了.plus或.减号,然后更改同级输入的值,以便可以有任意多个字段

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.js"></script>

       <div> 
          <a class="minus increment" href="#">-</a>
          <input type="text" id="adults" size="10" value="0">
          <a class="plus increment" href="#">+</a>            
       </div>

       <div>   
          <a class="minus increment" href="#">-</a>
          <input type="text" id="children" size="10" value="0">
          <a class="plus increment" href="#">+</a>
        </div>

<script type="text/javascript">  
   $(function(){
     $('.increment').click(function() {
        var valueElement = $('#'+$(this).siblings('input').attr('id'));

        if($(this).hasClass('plus')) 
        {
           valueElement.val(Math.max(parseInt(valueElement.val()) + 1));
        } 
        else if (valueElement.val() > 0) // Stops the value going into negatives
        {
           valueElement.val(Math.max(parseInt(valueElement.val()) - 1));
        } 

     return false;
});

});
</script> 

$(函数(){
$('.increment')。单击(函数(){
var valueElement=$('#'+$(this).sibbines('input').attr('id');
if($(this).hasClass('plus'))
{
valueElement.val(Math.max(parseInt(valueElement.val())+1));
} 
else if(valueElement.val()>0)//停止值变为负数
{
val(Math.max(parseInt(valueElement.val())-1));
} 
返回false;
});
});

这是一种简单而动态的增加和减少值的方法

这是html部分

<span id="plus">+</span>
<span id="minus">-</span>
<div id="display"></div>
  <div class="input-group">
  <div class="input-group-prepend">
  <span class="input-group-text" onclick="decrement(this);"><i class="la la-minus- 
   circle"></i></span></div>
   <input type="text" class="form-control adults" value="0">
   <div class="input-group-append">
   <span class="input-group-text" onclick="increment(this);"><i class="la la-plus- 
   circle"></i></span></div></div>

喜欢吗?我真希望这是个家庭作业!Jquery:太糟糕了。)出于某种原因,当使用add时,它会像0、01、011、0111等那样递增。刚刚意识到它需要被解析为int!var value=parseInt($('#value')。text(value));哇,这真的可以被重构!@Josh重构为“it's good”,或者重构为“it's bad”?现在好多了?我认为你的评论是一个挑战。如果真的有更好的方法,我很想知道:自我提高是我们领域的目标#1!
<script>
jQuery(function(){

  jQuery('.mkdminusplus').append('<span class="mkdminus"><i class="icon-minus-sign"></i></span><input class="mkdvalue" type="number" value=""><span class="mkdplus"><i class="icon-plus-sign"></i></span>');

  jQuery('.mkdminusplus').each(function(){
    if (jQuery(this).attr('defaultval') == undefined) jQuery(this).attr('defaultval','0');
    jQuery(this).find('.mkdvalue').val(jQuery(this).attr('defaultval'));
  });
  jQuery('.mkdminus').bind('click',  function() {
        valueElement=jQuery(this).parent().find('.mkdvalue');
        defaultval=(jQuery(this).parent().attr('defaultval') !== 'undefined' && jQuery(this).parent().attr('defaultval') !== 'false' )?jQuery(this).parent().attr('defaultval'):jQuery(this).parent().attr('defaultval','0');
        console.log(jQuery.isNumeric(parseInt(valueElement.val())))
        if (!jQuery.isNumeric(parseInt(valueElement.val()))) valueElement.val(defaultval);
        var increment=-1;
        valueElement.val(Math.max(parseInt(valueElement.val()) + increment, 0));
  });


   jQuery('.mkdplus').bind('click',  function() {
        valueElement=jQuery(this).parent().find('.mkdvalue');
        defaultval=(jQuery(this).parent().attr('defaultval') !== undefined && jQuery(this).parent().attr('defaultval') !== 'false' )?parseInt(jQuery(this).parent().attr('defaultval')):parseInt(jQuery(this).parent().attr('defaultval','0'));
        console.log(jQuery.isNumeric(parseInt(valueElement.val())))
        if (!jQuery.isNumeric(parseInt(valueElement.val()))) valueElement.val(defaultval);
        var increment=1;
        valueElement.val(Math.max(parseInt(valueElement.val()) + increment, 0));
  });

  jQuery('.mkdvalue').on('keyup', function () {
        jQuery(this).val(jQuery(this).val().replace(/[^0-9]/gi, ''));
  });

});

</script>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.1.js"></script>

       <div> 
          <a class="minus increment" href="#">-</a>
          <input type="text" id="adults" size="10" value="0">
          <a class="plus increment" href="#">+</a>            
       </div>

       <div>   
          <a class="minus increment" href="#">-</a>
          <input type="text" id="children" size="10" value="0">
          <a class="plus increment" href="#">+</a>
        </div>

<script type="text/javascript">  
   $(function(){
     $('.increment').click(function() {
        var valueElement = $('#'+$(this).siblings('input').attr('id'));

        if($(this).hasClass('plus')) 
        {
           valueElement.val(Math.max(parseInt(valueElement.val()) + 1));
        } 
        else if (valueElement.val() > 0) // Stops the value going into negatives
        {
           valueElement.val(Math.max(parseInt(valueElement.val()) - 1));
        } 

     return false;
});

});
</script> 
  <div class="input-group">
  <div class="input-group-prepend">
  <span class="input-group-text" onclick="decrement(this);"><i class="la la-minus- 
   circle"></i></span></div>
   <input type="text" class="form-control adults" value="0">
   <div class="input-group-append">
   <span class="input-group-text" onclick="increment(this);"><i class="la la-plus- 
   circle"></i></span></div></div>
    function increment(obj)
    {
    var count = parseInt($(obj).parent().parent().find('input').val());
    $(obj).parent().parent().find('input').val(count+1);
   }

   function decrement(obj)
   {
    var count = parseInt($(obj).parent().parent().find('input').val());
    if(count != 0)
    {
       $(obj).parent().parent().find('input').val(count - 1);  
    }

}