繁体   English   中英

使用输入变量设置元素的值

[英]Set value of element using an input variable

我有一个 js 函数, id_2根据id_2的值设置id_1的值。 它看起来像下面这样:

function set_value(id_1, id_2, url){
    var id_1_value;
    id_1_value = $(id_1).val();
    var value;
    ...
    /* calculation etc. */
    document.getElementById(id_2).value = value;
};

该函数通过像onchange='set_value(this, id_2)'的 onchange 方法链接到id_1 html 元素。

如果我更改id_1的值,该函数将不起作用,并且在控制台中出现以下错误:

Unable to set property 'value' of undefined or null reference

但是如果我在函数中硬编码document.getElementById('id_2')它工作正常。 我如何编写这个函数,以便我可以成功地将元素 id 变量传递给它? 我想对你看到的不同元素重用这个函数......

您的set_value函数应如下所示。

function set_value(id_1, id_2, url) {
    var id_1_value = $(id_1).val();
    /* calculation etc. */
    if ($(id_2).length !== 0)
    {
        $(id_2).val(id_1_value);
    }
}

您是否将“#id_2”传递给 set_value 参数?

如果是这样,那意味着它会返回 null。

// The function should be called like this 
 var id_2 =  "id_2";
 set_value(this, id_2, blah...)

像这样改变电话

onchange='set_value(this, "id_2")'

第二个参数应作为字符串传递。

试试下面的代码:

function set_value(id_1, id_2, url){
    var id_1_value = $(id_1).val();
    var value;
    ...
    /* calculation etc. */
    document.getElementById(id_2).value = value;
};

和 onchange 功能

onchange="set_value(this, 'id_2')"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM