将组合框值传递给另一个组合框

时间:2012-09-04 01:43:02

标签: javascript

我有两个组合框:

<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);
}

3 个答案:

答案 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>

JS Fiddle demo

在原始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);
}