Javascript JQuery:尝试在单击按钮时将数字附加到文本区域
我很难让我的一个按钮将数据附加到HTML文本区域。有问题的按钮是“BPI”。我试图在我的第一个文本区域中附加几位pi。其他4个按钮在第2个文本区域内操作。提前感谢您的帮助Javascript JQuery:尝试在单击按钮时将数字附加到文本区域,javascript,jquery,html,Javascript,Jquery,Html,我很难让我的一个按钮将数据附加到HTML文本区域。有问题的按钮是“BPI”。我试图在我的第一个文本区域中附加几位pi。其他4个按钮在第2个文本区域内操作。提前感谢您的帮助 $(文档).ready(函数(){ $(“#添加”)。单击(函数(e){ $('#TOperator').val()+=“+”; }) $(“#b子目录”)。单击(函数(e){ $('#TOperator').val()+=“-”; }) $(“#b乘法”)。单击(函数(e){ $('#TOperator').val()+=
$(文档).ready(函数(){
$(“#添加”)。单击(函数(e){
$('#TOperator').val()+=“+”;
})
$(“#b子目录”)。单击(函数(e){
$('#TOperator').val()+=“-”;
})
$(“#b乘法”)。单击(函数(e){
$('#TOperator').val()+=“*”;
})
$('b分区')。单击(函数(e){
$('#TOperator').val()+=“/”;
})
$('#BPI')。单击(函数(e){
$('#TFirstnum').val()+=“3.141592657”;
})
})
输入:
+
-
/
*
π
=
当您想使用Jquery设置元素的值属性时,您需要在.val('newValue')
中设置值
当您想要获取元素的值时,请使用空白参数:var x=elem.val()
因此,要连接(或附加)值,应使用:
$('#TOperator').val($('#TOperator').val() + '+');
要详细说明的较长版本:
var expr = $('#TOperator').val(); // Get current value
expr += '+'; // Concatenate the + sign
$('#TOperator').val(expr); // Set the new value
如果要添加值,请使用$(yourObject).val(“yourvalue”)
如果要向现有值添加值,请使用$(yourObject).val($(yourObject.val()+“yourvalue”)
下面的工作示例
$(文档).ready(函数(){
$(“#添加”)。单击(函数(e){
$('TOperator').val($('TOperator').val()+“+”);
})
$(“#b子目录”)。单击(函数(e){
$('TOperator').val($('TOperator').val()+“-”);
})
$(“#b乘法”)。单击(函数(e){
$('TOperator').val($('TOperator').val()+“*”);
})
$('b分区')。单击(函数(e){
$('TOperator').val($('TOperator').val()+“/”;
})
$('#BPI')。单击(函数(e){
$('TOperator').val($('TOperator').val()+“3.141592657”);
})
})
输入:
+
-
/
*
π
=
您使用的是无效的+=
。您必须获取值,然后设置值
$('#BAddition').click(function(e) {
$('#TOperator').val( $('#TOperator').val() + "+");
});
你重复了很多次。我建议您稍微修改一下html并创建一个更整洁的函数
<button type="button" class="MathSign" data-sign="+">+</button>
<button type="button" class="MathSign" data-sign="-">-</button>
<button type="button" class="MathSign" data-sign="/">/</button>
<button type="button" class="MathSign" data-sign="*">*</button>
<button type="button" id="BPI">π</button>
<button type="button" class="MathSign" data-sign="=">=</button>
// handle the [+ - * / =] in one go:
$('.MathSign').on('click', function(){
$('#TOperator').val( $('#TOperator').val() + $(this).data('sign'));
// Or,you can drop the data-sign attribute and use the content of the button
$('#TOperator').val( $('#TOperator').val() + this.innerHTML);
})
+
-
/
*
π
=
//一次性处理[+-*/=]:
$('.MathSign')。在('click',function()上{
$('TOperator').val($('TOperator').val()+$(this.data('sign'));
//或者,您可以删除数据符号属性并使用按钮的内容
$('TOperator').val($('TOperator').val()+this.innerHTML);
})
$(选择器)。val()
用于获取输入框的值
如果要设置值,需要传递值$(选择器).val(值)
我修改了你的例子。你需要考虑的是,当你执行“代码> $(选择器).Var())/代码>时,你将得到字符串。如果您想对两个字符串进行加法而不是串联
,您可能应该使用parseInt
$(文档).ready(函数(){
$(“#添加”)。单击(函数(e){
$('TOperator').val($('TOperator').val()+“+”);
})
$(“#b子目录”)。单击(函数(e){
$('TOperator').val($('TOperator').val()+“-”);
})
$(“#b乘法”)。单击(函数(e){
$('TOperator').val($('TOperator').val()+“*”);
})
$('b分区')。单击(函数(e){
$('TOperator').val($('TOperator').val()+“/”;
})
$('#BPI')。单击(函数(e){
$('TFirstnum').val($('TFirstnum').val()+“3.141592657”);
})
})
输入:
+
-
/
*
π
=
试试$('.'TOperator').val($('.'TOperator').val()+“+”)
你的数据符号==”
太多了,谢谢,修复了:)没问题:)我没有想过使用HTML类属性来同时处理几个按钮的输入。谢谢你帮助我改进我的程序:)这就是我们的目的:)只要把你喜欢的答案投上去,把你认为对你帮助最大的答案记下来作为答案你有错误吗?单击此按钮时的预期结果是什么?请解释一下。我只编辑了BPI
按钮。虽然我现在也编辑了其他按钮。