每次单击按钮时,将按钮的值附加到输入文本

时间:2013-12-16 15:42:31

标签: javascript jquery text input

让我告诉你一段我的代码,以便你知道我正在努力解决的问题。

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

这是我正在谈论的输入元素。我想要做的是把值:

<input type="button" id="b1" value="1" />
每次单击按钮时,在文本框中

一个侧面问题我不能谷歌,因为它是搜索语法的一部分。

""''之间有什么区别(介于两者之间)和何时使用其中一个?

编辑:现在点击事件正在将按钮的值添加到文本框中。但不是文本框内的文字!它只是字面上添加它,好像文本框是一个分区或什么。

jquery / javascript代码

$("#b1").click(toev);

function toev(){           
               $("#input").text($(append($(this).val())));
                };

5 个答案:

答案 0 :(得分:2)

你想要这样的东西:DEMO

$('#b1').click(
    function(){
        $('#input').val($('#input').val()+$(this).val());
    }
);

答案 1 :(得分:1)

使用普通的javascript完成这个简单的任务。获取按钮ID,然后将其值添加到输入。例如:

document.getElementById('b1').onclick = function() {
   document.getElementById('input').value += this.value;
};

如果要清除文本框的所有内容,然后添加值:

document.getElementById('b1').onclick = function() {
   document.getElementById('input').value = this.value;
};

答案 2 :(得分:0)

你想要做的是

- 有一个文本框(我假设不是只读)

- 有一个带有事件处理程序的按钮

- 在按钮的“单击”上更改文本框中的值。

通过jQuery

//button handler
$('#b1').click(function () {
   $('#input').val(1)
});

分析正在发生的事情:

$('#b1')                 //jQuery selector to select the button element by it's ID
.click(function () { }); //the function to be called when you click the button
$('#input')              //jQuery selector to select the input (textbox) element
.val(1)                  //Set the input (textbox) value to 1

对于你的第二个问题“”vs''。在javascript中没有真正的区别,它们可以互换使用,并且在彼此内部通常会出现“'”或“”“。在不同的语言中可能不是这种情况,Ex C#“”== string,where''== char,等等。

答案 3 :(得分:0)

好吧,从你的问题我能理解的是,你想要把价值分配给文本框。你可以做的事情。

ID提供classinput type="text"会更好,否则会将值放在页面上的所有文本框中

 $('#b1').click(function() {
        $('#input').val("whatever value you want");
    });

如果您希望按钮值进入文本框,您可以执行以下操作..

$('#b1').click(function() {
     var btnValue = $(this).val();            
    $('#input').val(btnValue );
 });

答案 4 :(得分:0)

这也会在DOM中分配值,因此如果您愿意或输入错误,可以创建一个按钮来删除该值。

$('#b1').click(
    function(){
            var inputValue  = $('#input').val();
            var input       = $('#input');
            var buttonValue = $(this).val();
            var newInputValue = inputValue + buttonValue;
            input.attr('value',newInputValue );
    }
);