2015-07-10 86 views
0

我试图创建一个计算器,从按钮​​1到9获取值。现在我想添加一个值到文本框而不是设置它,就像我希望用户能够添加1然后5添加到总共15个。我怎么能实现这个目标?我如何添加值到文本框,而不是设置值

.prop设置一个值,或.val,以便其中一个不在列表中。

<script> 
jQuery(document).ready(function() { 
    jQuery("#one").click(function() { 
     jQuery("#entered").prop("value", "1"); 
    }); 

}); 
</script> 

CSS部分:

<div> 
    <button id="one">1</button> 
    <button id="two">2</button> 
    <button id="three">3</button> 
    <button id="four">4</button> 
    <button id="five">5</button> 
    <button id="six">6</button> 
    <button id="seven">7</button> 
    <button id="eight">8</button> 
    <button id="nine">9</button> 
    <input type="text" id="entered" disabled="disabled" /> 
</div> 

回答

3

变化

jQuery("#entered").prop("value", "1"); 

jQuery("#entered").val(jQuery("#entered").val() + "1"); 

这将concenate旧的东西以新进1

这是全码:

<div> 
    <button id="one">1</button> 
    <button id="two">2</button> 
    <button id="three">3</button> 
    <button id="four">4</button> 
    <button id="five">5</button> 
    <button id="six">6</button> 
    <button id="seven">7</button> 
    <button id="eight">8</button> 
    <button id="nine">9</button> 
    <input type="text" id="entered" disabled="disabled" value="" /> 
</div> 

jQuery(document).ready(function() { 
    jQuery("#one").click(function() { 
     jQuery("#entered").val(jQuery("#entered").val() + "1"); 
    }); 

}); 

如果你想有一个函数:

$.fn.appendVal = function (newPart) { 
    return this.each(function(){ $(this).val($(this).val() + newPart); }); 
}; 

$("#abc").appendVal("test"); 

https://jsfiddle.net/ffp19wze/这里是一个工作的jsfiddle它

+0

啊,当然是。非常感谢! –

+0

第二个不错的方法是在这里描述: http://stackoverflow.com/questions/1224133/is-it-possible-to-do-value-in-jquery –

+0

哦,但这一个不能正常工作,因为当有是不是第一个值,它返回undefined1 ... –

2

更改您的jQuery到

jQuery(document).ready(function() { 
    jQuery("#one").click(function() { 
     var cur_val = jQuery("#entered").val(); 
     cur_val = cur_val+"1"; 
     jQuery("#entered").val(cur_val); 
    }); 

}); 
相关问题