我有两个组合框:
<select ID="combobox1"></select>
<select ID="combobox2" onChange="get_function(this, #combobox1)"></select>
我想要做的是,将在combobox1上选择的值传递给combobox2并调用Javascript函数:
function get_function(combobox1, combobox2)
{
var code1 = combobox1.value;
var code2 = combobox2.value;
if (!code1) return;
if (!code2) return;
alert(code1 + '-' + code2);
}
我已经尝试过该代码,但它不起作用。我怎么能这样做?
更新
问题解决了:
<select ID="combobox1"></select>
<select ID="combobox2" onChange="get_function(this, "combobox1")"></select>
function get_function(combobox1, combobox2)
{
var code1 = combobox1.value;
var code2 = document.getElementById(combobox2);
if (!code1) return;
if (!code2) return;
alert(code1 + '-' + code2);
}
答案 0 :(得分:0)
我建议(如果你必须使用内联JavaScript):
function get_function(combobox1, combobox2) {
var code1 = document.getElementById(combobox1).value,
code2 = combobox2.value;
if (!code1 || !code2) {
return false;
}
else {
alert(code1 + '-' + code2);
}
}
并像这样调用该函数:
<select id="combobox1"></select>
<select id="combobox2" onchange="get_function('combobox1', this)"></select>
在原始HTML中,您使用错误顺序的参数调用函数,并使用第二个参数的非加引号字符串(第一个元素的id
)。另外,据我所知,你试图使用id
来获取对相关DOM节点(元素本身)的引用,你只是使用{ {1}}(一个不带引号的字符串,因此被解释为一个不存在的全局变量)直接。这可能永远不会奏效。
答案 1 :(得分:0)
的 The demo: 强> 的
function get_function(el, to_el_id) {
var to_el = document.getElementById(to_el_id);
if (to_el) {
to_el.value = el.value;
}
}
答案 2 :(得分:0)
<select ID="combobox1"></select>
<select ID="combobox2" onChange="get_function(this, "combobox1")"></select>
function get_function(combobox1, combobox2)
{
var code1 = combobox1.value;
var code2 = document.getElementById(combobox2);
if (!code1) return;
if (!code2) return;
alert(code1 + '-' + code2);
}