多个按钮,使用javascript中的one函数将一个文本字段更改为该按钮的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多个按钮,使用javascript中的one函数将一个文本字段更改为该按钮的值相关的知识,希望对你有一定的参考价值。

好的,所以我有10个按钮显示0到9.下面有一个文本字段,显示“点击按钮3”或“点击按钮0”,具体取决于点击的按钮等等。但是我必须使用一个函数实现这一点,所以我的代码看起来像这样。

    <button onClick="changeNumber()">0</button>
    <button onClick="changeNumber()">1</button>
    <button onClick="changeNumber()">2</button>
    <button onClick="changeNumber()">3</button>
    <button onClick="changeNumber()">4</button>
    <button onClick="changeNumber()">5</button>
    <button onClick="changeNumber()">6</button>
    <button onClick="changeNumber()">7</button>
    <button onClick="changeNumber()">8</button>
    <button onClick="changeNumber()">9</button>
        <br/>
        <br/>
    <input type="text" id="garlicBread1" size="50%"> 

我不知道如何更改函数Number()

答案

好吧,你可以这样做:

 <button onClick="changeNumber(0)">0</button>
        <button onClick="changeNumber(1)">1</button>
        <button onClick="changeNumber(2)">2</button>
        <button onClick="changeNumber(3)">3</button>
        <button onClick="changeNumber(4)">4</button>
        <button onClick="changeNumber(5)">5</button>
        <button onClick="changeNumber(6)">6</button>
        <button onClick="changeNumber(7)">7</button>
        <button onClick="changeNumber(8)">8</button>
        <button onClick="changeNumber(9)">9</button>
            <br/>
            <br/>
        <input type="text" id="garlicBread1" size="50%"> 

    <script>
    function changeNumber(val){
     document.getElementById("garlicBread1").value =
        val + "clicked";
    }
    </script>
另一答案

你可以使用这样的东西。您可以将元素的引用传递给事件处理程序,然后使用它来获取innerhtml

function changeNumber(elm) {
  document.getElementById('garlicBread1').value = 'button ' + elm.innerHTML + ' is clicked';
}
<button onClick="changeNumber(this)">0</button>
<button onClick="changeNumber(this)">1</button>
<button onClick="changeNumber(this)">2</button>
<button onClick="changeNumber(this)">3</button>
<button onClick="changeNumber(this)">4</button>
<button onClick="changeNumber(this)">5</button>
<button onClick="changeNumber(this)">6</button>
<button onClick="changeNumber(this)">7</button>
<button onClick="changeNumber(this)">8</button>
<button onClick="changeNumber(this)">9</button>
<br/>
<br/>
<input type="text" id="garlicBread1" size="50%">
另一答案

您可能希望使用querySelectorAll并将事件监听器附加到按钮,而不是将onclick添加到每个按钮。然后使用template literal创建字符串并将其附加到输入的值

let getButtons = document.querySelectorAll('button').forEach((item) => {
  item.addEventListener('click', function(e) {
    let txt = e.target.textContent
    document.getElementById('garlicBread1').value = `button ${txt} is clicked`
  })
})
<button>0</button>
<button>1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<button>5</button>
<button>6</button>
<button>7</button>
<button>8</button>
<button>9</button>
<br/>
<br/>
<input type="text" id="garlicBread1" size="50%">
另一答案

同意dk,就这样使用它

 <button onClick="changeNumber()">0</button>
    <button onClick="changeNumber(1)">1</button>
    <button onClick="changeNumber(2)">2</button>
    <button onClick="changeNumber(3)">3</button>
    <button onClick="changeNumber(4)">4</button>
    <button onClick="changeNumber(5)">5</button>
    <button onClick="changeNumber(6)">6</button>
    <button onClick="changeNumber(7)">7</button>
    <button onClick="changeNumber(8)">8</button>
    <button onClick="changeNumber(9)">9</button>
        <br/>
        <br/>
    <input type="text" id="garlicBread1" size="50%"> 

在你的功能

function changeNumber(number){
console.log(number);
}

以上是关于多个按钮,使用javascript中的one函数将一个文本字段更改为该按钮的值的主要内容,如果未能解决你的问题,请参考以下文章

Fancybox one 画廊通过多个按钮打开

Flask 中的多个提交按钮

HTML/Javascript/jquery 函数按钮在 TextArea 中的每一行末尾放置逗号

如何通过使用 onClick() 函数单击按钮来填充 Javascript 中的表格?

Javascript按钮多个音频源

JavaScript 中的哈希表