将值从输入1复制到输入2 onclick

时间:2015-04-14 14:38:12

标签: javascript jquery

在按钮单击时查找将输入值1复制到输入2的脚本,并在设置文本框中添加+1。



b = document.getElementById('tussenstand').value;
var theTotal1 = b;

$(document).on("click", "#button1", function(){
    theTotal1 = Number(theTotal2) 
    $('#eindstand').val(theTotal2);        
});
$('#eindstand').val(theTotal2);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="tussenstand"></input>
<input id="eindstand"></input>
<input id="sets"></input>

<button id="button1">click</button>
&#13;
&#13;
&#13;

提前致谢。

5 个答案:

答案 0 :(得分:3)

我认为这样做会。

&#13;
&#13;
$(document).on("click", "#button1", function(){
    var total = document.getElementById('tussenstand').value;
    $('#eindstand').val(total);    
    var sets = parseInt($('#sets').val()); 
    $('#sets').val( (sets || 0) + 1);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="tussenstand"></input>
<input id="eindstand"></input>
<input id="sets"></input>

<button id="button1" onclick="">click</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

$('#button1').click(function(){
    $('#eindstand').val($('#tussenstand').val());
    $('#sets').val(Number($('#sets').val())+1);    
});

点击此处:jsfiddle

您评论时编辑

答案 2 :(得分:1)

查看.on()方法的JQuery API Documentation。该函数不会将目标作为参数,而是作为调用者对象!编辑:嗯,它实际上仍然可以反过来,但这使得事件委派。只有你知道自己在做什么才能做到这一点。我更喜欢改变这个:

$(document).on("click", "#button1", function(){ ... });

进入这个:

$("#button1").on("click", function() { ... });

在香草JS中会是:

document.getElementById("button1").addEventListener("click", function() { ... });

接下来,您不需要在函数之外定义变量,并且在其中使用数字命名变量是一种不好的做法。尽量使名字尽可能清晰。

现在很明显,我在这里写的是:

$("#button1").on("click", function() {
    $("#eindstand").val($("#tussenstand").val());
    $("#sets").val(parseInt($("#sets").val())+1);    
});

答案 3 :(得分:1)

以下代码应该有效。有几个问题可以帮助您将来。在HTML中,通过onclick触发的函数将干扰jQuery onclick。您可能想要将其删除。

onclick="bereken();

你的代码没有声明b变量的方式。

b=document.getElementById('tussenstand').value;

编写jQuery onclick的方式应该具有更窄的范围(而不是文档)。现在每次点击任何内容的方式都在它触发的文档中。我改变了这个:

$(document).on("click", "#button1", function(){ 

到此:

$("#button1").on("click", function() {

完整编辑的代码就在这里。

var count = 0;
$("#button1").on("click", function(){    

    if ( typeof b === 'number') {
        count++;

        $("#eindstand").val(b);
        $("#sets").val(count);
    }    
});

答案 4 :(得分:0)

实现这一目的:

$(function() { //on DOM ready
  
  $('#button1').click(function(){ //Attach event
    
    //Get value safe - can use parseFloat() too:
    val1 = parseInt($('#tussenstand').val());
    val2 = parseInt($('#eindstand').val());
    sets = parseInt($('#sets').val());
    
    //Make sure we are using integers:
    if (isNaN(val1) || isNaN(val2) || isNaN(sets)) return;
    
   //Add
    $('#eindstand').val(val1 + val2);
    
    //Increment:
    $('#sets').val(sets+1);
  
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="tussenstand"  type='number' />
<input id="eindstand" value='0' type='number' />
<input id="sets" value='0' type='number' />

<button id="button1">click</button>