【问题标题】:Append button's value to input text , every time button is clicked将按钮的值附加到输入文本,每次单击按钮
【发布时间】:2014-01-04 01:45:59
【问题描述】:

让我给你看一段我的代码,让你知道我在努力解决什么问题。

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

这就是我所说的输入元素。我想要做的是把价值:

<input type="button" id="b1" value="1" />

每次单击按钮时在文本框中。

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

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

编辑:现在点击事件正在将按钮的值添加到文本框。但不是文本框内的文本! IT 只是从字面上添加它,就好像文本框是一个部门或其他东西一样。

jquery/javascript 代码

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

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

【问题讨论】:

  • 显示您尝试过的内容。?
  • 我认为您的格式有问题。尝试使用编辑器中的“{}”图标将内容显示为代码。
  • @Katana314 你什么意思?在我看来很正常。 @Rajaprabhu Aravindasamy $("#b1").click(toev);函数 toev(){ $("#input").append(this.val()); };
  • @Zeretil 那是因为有人为您编辑了您的问题。它曾经看起来像这样:stackoverflow.com/revisions/20614814/1 你的 HTML 没有格式化为代码块(通过用 4 个空格偏移它)。

标签: javascript jquery text input


【解决方案1】:

你想要这样的东西吗:DEMO

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

【讨论】:

  • 这正是我想要的!谢谢!如果我有声望,我会支持你。
  • 这并没有真正分配 DOM 中的值。请参阅下面的答案。
【解决方案2】:

为这个简单的任务使用纯 JavaScript。获取按钮 id,然后将其值添加到输入。示例:

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

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

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

【讨论】:

  • 我喜欢这个答案,因为原始发帖人没有说明他是否使用 jQuery。
【解决方案3】:

您目前如何尝试在单击按钮时将value 属性设置为1

''"" 之间没有区别,只是您可以在双引号内使用单引号而不必转义字符,反之亦然:

"I like to eat 'cheese'.""I like to eat \"cheese\"."

'Do you like to eat "cheese"?''Do you like to eat \'cheese\'?'

您决定使用哪一种取决于代码风格或它是否使您的编码更容易。正如Mark 指出的那样,并非所有语言都如此。

【讨论】:

  • 感谢您的澄清。不,我不是,我希望每次单击按钮时都将按钮的值添加到文本框内的文本中。
【解决方案4】:

听起来你想做的是

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

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

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

通过 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

对于您的第二个问题“”与“”。在javascript中没有真正的区别,它们可以互换使用,并且在彼此内部经常出现“''”或'“”'。在不同的语言中,情况可能并非如此,例如 C# "" == string,其中 '' == char 等。

【讨论】:

  • 按钮的值可以通过 ajax 或 php 或其他方式动态添加,因此硬编码值不应该是一种方法。
【解决方案5】:

嗯,我可以从你的问题中理解,你想把价值放在文本框中。你可以打鸟。

最好将IDclass 提供给input type="text",否则这会将值放在页面上所有可用的文本框中

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

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

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

【讨论】:

    【解决方案6】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      相关资源
      最近更新 更多