Javascript 将值附加到JQuery脚本中的输入字段

Javascript 将值附加到JQuery脚本中的输入字段,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试为一个孩子创建一个简单的数学测验应用程序,屏幕上的数字键将附加到答案的输入字段中。我想使用链接到类的jQuery事件侦听器,这样就不必为每个数字调用onClick函数。我在其他地方发现了这个问题,但我无法评论进一步提出的问题,因为我刚刚加入了这个组织,它表明我的声誉不够高 链接到其他问题: 当我尝试追加时,当我尝试单击我的按钮时,我得到一个未定义的值,我看不到代码中的错误在哪里。如蒙协助,将不胜感激 我的jQuery: $(".userIn").click(function() {

我正在尝试为一个孩子创建一个简单的数学测验应用程序,屏幕上的数字键将附加到答案的输入字段中。我想使用链接到类的jQuery事件侦听器,这样就不必为每个数字调用onClick函数。我在其他地方发现了这个问题,但我无法评论进一步提出的问题,因为我刚刚加入了这个组织,它表明我的声誉不够高

链接到其他问题:

当我尝试追加时,当我尝试单击我的按钮时,我得到一个未定义的值,我看不到代码中的错误在哪里。如蒙协助,将不胜感激

我的jQuery:

$(".userIn").click(function() {
  var usrIn = $(this).data('usrIn');
  $("#answer").val(function() {
    return this.value + usrIn;
  });
});
我的按钮示例:

<button type="button" class="btn btn-primary btn-block userIn" data-number="0" id="zero">0</button>
0
下面是我所有链接样式表和外部js的示例。

更改
var usrIn=$(this.data('usrIn')
to
var usrIn=$(this.attr('data-number')

Fiddle:

Change
var usrIn=$(this.data('usrIn')
to
var usrIn=$(this.attr('data-number')


Fiddle:

您的数据属性被称为
数据编号
,而不是
数据用户,因此您应该写:

var usrIn = $(this).data('number')
但是,由于按钮的文本确实是您想要添加的内容,您可以不使用所有数据属性,只需执行以下操作:

var usrIn = $(this).text();

您的数据属性称为
data number
,而不是
data userin
,因此您应该编写:

var usrIn = $(this).data('number')
但是,由于按钮的文本确实是您想要添加的内容,您可以不使用所有数据属性,只需执行以下操作:

var usrIn = $(this).text();

两个都试试,都能用

document.getElementById("input_id").value = you_value;
document.getElementById("input_id").textContent = you_value;

两个都试试,都能用

document.getElementById("input_id").value = you_value;
document.getElementById("input_id").textContent = you_value;

非常感谢。我试过了,但它在我的代码中仍然不起作用,直到我意识到它在浏览器中不起作用,但在小提琴中起作用。一旦我把它移到我的$(document.ready)部分,它就开始工作了。我将使用我标记为已回答的另一个解决方案,但要感谢您,因为我测试了您的两个解决方案,它们也为我工作。注意:jsfiddle会自动执行此操作(将脚本放入加载函数中)。这是一个可以更改的设置,但默认情况下是这样的。谢谢!我试过了,但它在我的代码中仍然不起作用,直到我意识到它在浏览器中不起作用,但在小提琴中起作用。一旦我把它移到我的$(document.ready)部分,它就开始工作了。我将使用我标记为已回答的另一个解决方案,但要感谢您,因为我测试了您的两个解决方案,它们也为我工作。注意:jsfiddle会自动执行此操作(将脚本放入加载函数中)。这是一个可以更改的设置,但默认情况下是这样的。非常感谢。一旦我将我的函数移到js的document.ready部分,它也开始在浏览器中工作。非常感谢。一旦我将函数移动到js的document.ready部分,它也开始在浏览器中工作。