使用json数组(jQuery)

时间:2015-04-22 12:47:57

标签: jquery arrays json

我尝试使用" startDate'的值来填充下拉列表。从多个json对象中,如何在不获取“结束日期”的情况下执行此操作。和'价格'出现?

这是我目前的情况:

Current situation

这是我使用的代码:

function get_months(year) {
    selected_year = year;
    date.style.visibility = 'hidden';
    month.style.visibility = 'visible';

    yearArray = dateType[year];
    console.log(yearArray);

    $.each(yearArray, function(key, value) {
        $(month).append('<option value=' + value + '>' + key + '</option>');
    });
}

function get_dates(month) {
    date_selected = false;

    if(current_type == 'Weekend') {
        date.style.visibility = 'visible';
        //console.log(current_customer, current_type, selected_year, month);
    } else if(current_type == 'Midweek') {
        date.style.visibility = 'visible';
        //console.log(current_customer, current_type, selected_year, month);
    } else if(current_type == 'Week') {
        date.style.visibility = 'visible';
        //console.log(current_customer, current_type, selected_year, month);
    }
    monthArray = yearArray[month];
    console.log(monthArray);
    alert(monthArray);

    $.each(monthArray, function(key, value) {
        //startDate = value.startDate;
        console.log(value.startDate);
        $.each(value, function(key2, value2) {
            /* console.log(key2);
            console.log(value2); */
            $(date).append('<option value=' + key2 + '>' + value2 + '</option>');
        });
    });
}

如果需要任何其他信息,请询问! 提前谢谢!

2 个答案:

答案 0 :(得分:2)

thread处回答了类似的问题,其中有三种不同的方法/解决方案。

  1. 读取json,迭代并打印值。
  2. 通过css隐藏/显示
  3. 追加json kvs。
  4. 希望这会有所帮助。

答案 1 :(得分:1)

你可能需要稍微调整一下,因为我没有正确分析你在做什么,但看起来你需要做一些改变:

        $(date).append('<option value=' + key2 + '>' + value2 + '</option>');

为:

        if (key2==='startDate') {
            $(date).append('<option value=' + key2 + '>' + value2 + '</option>');
        }