0

私は2つのコンボボックスを持っています:

<select ID="combobox1"></select>
<select ID="combobox2" onChange="get_function(this, #combobox1)"></select>

私がやりたいことは、コンボボックス1で選択した値をコンボボックス2に渡し、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);
}
4

3 に答える 3

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 フィドルのデモ

元の HTML では、パラメーターの順序が間違っていて、2 番目のパラメーター (id最初の要素の ) に引用符で囲まれていない文字列を使用して関数を呼び出していました。また、私が知る限り、それを使用して関連するDOMノード(要素自体)への参照を取得しようとしていidませんでした。単にid(引用符で囲まれていない文字列を使用していたため、存在しないと解釈されましたグローバル変数) 直接。これは決してうまくいきませんでした。

于 2012-09-04T01:51:46.923 に答える
0

デモ:

function get_function(el, to_el_id) {
  var to_el = document.getElementById(to_el_id);
    if (to_el) {
        to_el.value = el.value;
    }
}​
于 2012-09-04T01:52:17.157 に答える
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);
}
于 2012-10-20T06:33:14.347 に答える