1

相互に依存する 2 つのドロップダウン リストのコードを作成するのに苦労しており、助けが必要です。

    // Question 1
    var test1 = ['|Please Select','1|1','2|2','3|3']

    // Question 2

    var test2 = []
    var test2a = ['|Please Select','1a|1a','2a|2a','3a|3a']
    var test2b = ['|Please Select','1b|1b','2b|2b','3b|3b']
    var test2c = ['|Please Select','1c|1c','2c|2c','3c|3c']

    // Set the options from Question 1 using the values from the array test1

    val = "test1";
    function add_options(val){
        arr = window[val];
        var the_id = "#"+val;
        $.each(arr, function(key,val){
            options = val.split('|');
            $(the_id).append(
                $('<option></option>')
                .val(options[0])
                .html(options[1])
            );
        });
    }

ここで私は助けが必要です

ユーザーが test1 のオプションをクリックすると、選択されたオプションが取得されます。

選択したオプションがわかれば、質問 2 の配列を作成できます。

    if(selected == "1"){
        var test2 = test2a;
    } else if (selected == "2") {
        var test2 = test2b;
    } else if (selected == "3") {
        var test2 = test2c;
    }

    val = "test2";
    function add_options(val){
        arr = window[val];
        var the_id = "#"+val;
        $.each(arr, function(key,val){
            options = val.split('|');
            $(the_id).append(
                $('<option></option>')
                .val(options[0])
                .html(options[1])
            );
        });
    }

あなたが助けてくれることを願っています!

4

1 に答える 1

1

これを試してください(編集済み):

// Question 1
var test1 = ['|Please Select', '1|1', '2|2', '3|3']

// Question 2
var test2 = [];
var test2a = ['|Please Select', '1a|1a', '2a|2a', '3a|3a'];
var test2b = ['|Please Select', '1b|1b', '2b|2b', '3b|3b'];
var test2c = ['|Please Select', '1c|1c', '2c|2c', '3c|3c'];

// Set the options from Question 1 using the values from the array test1
function add_options(val) {
var arr = window[val];
var the_id = "#" + val;
$(the_id).text("");
$.each(arr, function (key, val) {
    var options = val.split('|');
    $(the_id).append(
            $('<option></option>')
            .val(options[0])
            .html(options[1])
        );
});
}

$(document).ready(function () {
var val = "test1";
add_options(val);
$("#test1").change(function () {
    var selected = $(this).val();
    if (selected == "1") {
        test2 = test2a;
    } else if (selected == "2") {
        test2 = test2b;
    } else if (selected == "3") {
        test2 = test2c;
    }

    val = "test2";
    add_options(val);
});
}
于 2013-03-07T12:16:28.020 に答える