Jquery无法在选项列表中设置值

时间:2014-03-20 10:17:04

标签: jquery json

继{my old question之后 这是小提琴,但不在我的javascript工作。 Fiddle 我把我的数据改为:

json.array = {
    F_02_0010: {
        0: "-------",
        1: "20億円以上",
        2: "14億円以上20億円未満",
        3: "7億円以上14億円未満",
        4: "7000万円以上7億円未満",
        5: "7000万円未満"
    },
    F_02_0110: {
        0: "-------",
        1: "10億円以上",
        2: "7億円以上10億円未満",
        3: "4億円以上7億円未満",
        4: "4000万円以上4億円未満",
        5: "4000万円未満"
    },
    F_02_0210: {
        0: "-------",
        1: "10億円以上",
        2: "7億円以上10億円未満",
        3: "4億円以上7億円未満",
        4: "5000万円以上4億円未満",
        5: "5000万円未満"
    },
    "default": {
        0: "-------"
    }
};

var evaluate_result = function(val){
    if (val == 1){
        set_options_list($(".asset"), json.array.F_02_0010);
    }else if (val == 2){
        set_options_list($(".asset"), json.array.F_02_0110);
    }else if (val == 3){
        set_options_list($(".asset"), json.array.F_02_0210);
    }else{
        set_options_list($(".asset"), json.array.default);
    }
}

问题在于我的功能:

我正在跟踪所有json的正确控制台结果,但选项只显示此json json.array.F_02_0010

var set_options_list = function(selctelm, jsonarray){
    $(selctelm).empty();
    for ( key in jsonarray){
        var val = jsonarray[key];
        // I'm getting following correct values for all above json 
        console.log(key, val, selctelm);
        //But this code is working only for first json i.e. json.array.F_02_0010
        $(selctelm).append(
                $("<option></option>").text(val).val(key)
        );
    };
}

1 个答案:

答案 0 :(得分:1)

更改了on change of your select list

$(".form-largeItem").change(function(){
    var val = $(this).val();
    if (val == 1){
        set_options_list($(".asset"), json.array.F_02_0010);
    }else if (val == 2){
        set_options_list($(".asset"), json.array.F_02_0110);
    }else if (val == 3){
        set_options_list($(".asset"), json.array.F_02_0210);
    }else{
        set_options_list($(".asset"), json.array.default);
    }
});

Demo Fiddle