0

私がやろうとしているのは、内の複数のチェックボックスを有効にすることですfor()。今のところこのように見えますが、私が学んだことから、このような変数からコマンドを実行することはできません。実行することはできません(例)cab_type_value = "whatever"。実行することもできませんroad_load_enabled; それはうまくいきません。誰かが私がこれを達成することができますか?Jどうすれば変数を解析できdocument.MyForm.InputName.disabledますか?

for( var j=1; j<=14; j++ ) {
    var cab_type_value = "document.exe_mode_form.cab_type" + j + ".value";
    var cab_type_checked = "document.exe_mode_form.cab_type" + j + ".checked == 1";

    for( var i=1; i<=document.exe_mode_form.road_load_number.value; i++ ) {
        var road_load_value = "document.exe_mode_form.load" + i + ".value";
        var road_load_enabled = "document.exe_mode_form.load" + i + ".disabled = false";
        var road_load_disabled = "document.exe_mode_form.load" + i + ".disabled = true";
        var rld_db = "document.exe_mode_form.a" + i + "_a1.value";

        if ( cab_type_checked ) {
            if ( test == 1 ) {
                if(road_load_disabled) {
                    alert("road_load_disabled");
                    road_load_enabled;
                }
                test = 2;
            }

            if(cab_type_value == rld_db) {
                if(olof == 1) {
                    alert("cab_type_value  == rld_db");
                    olof = 2;
                }

                road_load_enabled;
            }
        }
    }
}

また、この部分は機能していません:

if(cab_type_value == rld_db) {
    if(olof == 1){
        alert("cab_type_value  == rld_db");
        olof = 2;
    }

    road_load_enabled;
}

そして、私はチェックしcab_type_valueました、と同じ値を持っていますrld_db

4

1 に答える 1

1

これらの種類の行を変更してみてください。

var cab_type_value = "document.exe_mode_form.cab_type" + j + ".value";

に:

var cab_type_value = document.exe_mode_form['cab_type' + j].value;

同じロジックが関数呼び出しにも当てはまります。

someVariable = 'alert';
window[someVariable]('Foo!');//alerts foo

関数がグローバルスコープで宣言されていない場合は、window任意の名前空間オブジェクトに置き換えることができます。foobarObject.orEven.nestedOnes[someVariable]();
最後に、私はキーワード(循環参照)を個人的に嫌うため、通常の関数呼び出しまたはグローバルでwindow使用することを選択できます。this['alert']('foo');範囲。thisこれらの場合はグローバルオブジェクトである、呼び出されたコンテキストを指します

于 2012-07-19T15:00:34.600 に答える