2017-07-06 213 views
0

我有某种计算器,我需要在输入中插入.num-pad_number.html()。是这样做的正确方法:将按钮值插入我的输入(jQuery)的正确方法

$("#num-pad").on("click", ".num-pad_number", function (event) { 
    $("#calc-input").val($("#calc-input").val() + $(this).html()); 
}); 

或者它可能更加方便和正确的方式?因为我有解决方案的一些错误。在使用websockets进行一些操作之后,“计算器”开始复制每个数字,例如我需要“5”但插入“55”。

+0

Input.val()和$(本)。html的()都提供了许多的字符串,默认情况下它们合并为字符串不喜欢总结数字。 ''5'+'5'='55'not 10;' – Fered

+0

您想添加被点击的按钮的值吗? –

+0

使用'.text()'而不是'.html()',因为您不会添加HTML,只能添加文本内容。 –

回答

1

稍作修改。使用.text()而不是.html()。更短的事件功能。以下工作示例:

$('#num_pad .num-pad_number').click(function() { 
 
    $("#calc-input").val($("#calc-input").val() + $(this).text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input id="calc-input" type="text"/> 
 

 
<div id="num_pad"> 
 
    <button class="num-pad_number">1</button> 
 
    <button class="num-pad_number">2</button> 
 
    <button class="num-pad_number">3</button> 
 
    <button class="num-pad_number">4</button> 
 
    <button class="num-pad_number">5</button> 
 
    <button class="num-pad_number">6</button> 
 
    <button class="num-pad_number">7</button> 
 
    <button class="num-pad_number">8</button> 
 
    <button class="num-pad_number">9</button> 
 
</div>