【问题标题】:JavaScript change input value via linkJavaScript 通过链接更改输入值
【发布时间】:2020-03-17 02:18:33
【问题描述】:

我有一个列出数组所有成员的 foreach 函数。我希望数组的成员是一个改变输入值的链接。

我有这样读取输入的功能

<input type="text" id="syote" name="syote" value="" />
<button id="myBtn" onclick="submitti()">Submit</button>
function submitti(){

let current ="syote"

var txt = ""

    let array2 = [
    'soita',
    'sammuta',
    'google',
    'listaa',
    'oskari',
    'tee popup',
    '10',
    'input alas',
    'input ylös',
    'värillinen',
    'mustavalkoinen',
    'kysely'
    ]

if(syote.value.toLowerCase() == "listaaa"){
        document.getElementById("vas-col").className = "vasen";

        array2.forEach(myFunction);
        document.getElementById("result1").innerHTML = txt;

        function myFunction(value, array2) {
        txt = txt + "<a href=# onclick=Muuta()>" + value + "</a>" + "<br>"; 

        }
    }

function Muuta(value) {
    input.value = "asdasdasd";
}

这是有效的,它将输入值更改为 asdasdasd

我希望它更改与数组列表成员相同的输入值。

我尝试了这些但没有成功:

function myFunction(value, array2) {
        txt = txt + "<a href=# onclick=Muuta(value)>" + value + "</a>" + "<br>";

function Muuta(value) {
    input.value = value;
}
function myFunction(value, array2) {
        txt = txt + "<a href=# title=value onclick=Muuta(this.title)>" + value + "</a>" + "<br>";

function Muuta(value) {
    input.value = value;
}

还找到了一些示例,但不适用于我的情况。像这样:javascript change input value by link title

【问题讨论】:

  • 有人吗?我找不到这个问题的解决方案。

标签: javascript


【解决方案1】:

几个小时后,我找到了解决这个问题的方法。

这样就可以了:

    if(syote.value.toLowerCase() == "listaa"){

        // Näissä kohdissa missä id:ssä on väliviiva täytyy käyttää edessä document.getElementById. Ilman sitä ei muuta classia ja näin ollen scroll ei ilmesty.
        document.getElementById("vas-col").className = "vasen scroll";

        array.forEach(ListaaKomennot);
        result1.innerHTML = txt;

        function ListaaKomennot(value, array) {
        txt = txt + "<a href='#' title='" + value + "' onclick='MuutaArvo(this.title);'>" + value + "</a>" + "<br>"; 
        }
    }

function MuutaArvo(arvo) {
    syote.value = arvo;
}

在标题中,'" 之前非常重要,反之亦然。如果没有' ',它会在将输入值更改为标题时在空格后切断。如果您只有没有空格的单词,那不是问题。

最好自己解决,我同时学到了很多新东西。除其他外,如果您的 html id 名称带有 - 标签,就像我在 oik-col 中一样,您必须在没有它的情况下使用 document.getElementById,className 将不起作用。

【讨论】:

    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多