Javascript 使用输入变量设置元素的值
我有一个js函数,它根据Javascript 使用输入变量设置元素的值,javascript,jquery,html,Javascript,Jquery,Html,我有一个js函数,它根据id\u 1的值设置id\u 2的值。如下所示: 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方法链接到
id\u 1
的值设置id\u 2
的值。如下所示:
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方法链接到id\u 1
html元素onchange='set\u value(this,id\u 2)
如果我更改id_1
中的值,该函数将不起作用,并且在控制台中出现以下错误:
Unable to set property 'value' of undefined or null reference
但是如果我在函数中硬编码document.getElementById('id_2'),它就可以正常工作。如何编写此函数,以便成功地将元素id变量传递给它?我想对您看到的不同元素重复使用此函数…是否将“#id_2”传递给set_value参数
如果是,这意味着它将返回null
// The function should be called like this
var id_2 = "id_2";
set_value(this, id_2, blah...)
您的
设置_值
功能应如下所示
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);
}
}
像这样换电话
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')"
很抱歉,这是一个错误,刚刚更改了它。谢谢,我选择这个,因为我想避免在输入变量中添加引号。
onchange=set\u值(这个,id\u 2)
部分是使用我的django代码自动生成的