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
Javascript 如何使输入在每次单击jquery中的按钮时添加值?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何使输入在每次单击jquery中的按钮时添加值?

Javascript 如何使输入在每次单击jquery中的按钮时添加值?,javascript,jquery,html,Javascript,Jquery,Html,我得到了要单击的按钮,当它被单击时,我希望该值增加与被单击的值相同的值; 这是我的html <div id="setTimer"> <div class="spans"> <span class="timeSet" >1</span> <span class="timeSet">2</span>

我得到了要单击的按钮,当它被单击时,我希望该值增加与被单击的值相同的值; 这是我的html

          <div  id="setTimer">
                <div class="spans">
                  <span   class="timeSet" >1</span>
                  <span  class="timeSet">2</span>
                  <span  class="timeSet">3</span>
                  <span  class="timeSet">4</span>
                </div>
                <div class="spans">
                    <span  class="timeSet">5</span>
                   <span  class="timeSet">6</span>
                   <span  class="timeSet">7</span>
                   <span  class="timeSet">8</span>
                </div>
                <div class="spans">
                    <span  class="timeSet">9</span>
                    <span  class="timeSet">0</span>
                    <span  class="timeSet">+30s</span>
                </div>             
            </div>
用于输出的Html

<div class="timeCount">
    <input type="text" placeholder="Buttonclick Counter" class="col" 
     id="btnCountOutput">
就像Java脚本一样,我可以直接编写

  btnCountOutput.value += num;

每次单击按钮时,只需在输出中添加单击的任何值即可

您需要获取文本框的值,然后将其添加到传入的数字中。添加后,可以再次设置文本框的值。我添加了一个名为
currentCount
的变量作为示例:


您也不需要
parseFloat
函数。您确实需要一些函数来确保字符串被转换为数字,但您需要
number
parseInt
+
parseFloat
是不需要的,除非您使用十进制值。

是的,我想成为数字,但我使用(parseFloat)的原因是因为我希望屏幕上显示超过2个数字,所以我认为这可能是最好的方法,另一件事是“您刚才添加的currentCount变量..实际上它所做的是获取当前值并“添加”到输入的数字..很好,但不完全是我想要的是,如果我要单击名为4的按钮,请将其设置为4,例如(4:4:4)或如果我单击2(2:2:2)我在纯js中尝试了这一点,但在jquery中仍然存在问题……谢谢!);反正我也想过使用switch语句!,虽然不是真的非常感谢…只是做了一些事情,删除了前缀(+)num和前缀(+)current Count,它按照我的要求工作了…再次非常感谢!
#setTimer .spans{
margin-bottom: 10px;
  }
 #setTimer span{
   width: 15px;
   height: 10px;
   border-radius:50%;
   background: white;
   text-align: center;
   padding: 4px;
   cursor: pointer;
}
  btnCountOutput.value += num;
$(document).ready(function() {
  var count = 0
  var btnCountOutput = $('#btnCountOutput');
  var txt = $(this);
  $('.timeSet').click(function(txt) {
    count++;
    if (count > 3) {
      console.log('that cant be done!');
      return false;
    }
    var output = txt.currentTarget.innerHTML;
    output++;
    var num = parseFloat(output);
    var currentCount = btnCountOutput.val(); // Grab the current value
    var inputOut = btnCountOutput.val(+num + +currentCount); // Add the two values together and set the text box (make sure to convert string to number)
    console.log(num);
    console.log(count);
  });
});