2015-01-19 2 views
0

Я использую JSON для хранения данных и использования выбора диапазона дат в следующем коде.Bind JSON data to date range picker calendar

$(function() { 
     $("#datepicker").datepicker({ 
      beforeShowDay: function(date) { 
       var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input1").val()); 
       var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input2").val()); 
       return [true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""]; 
      }, 
      onSelect: function(dateText, inst) { 
       var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input1").val()); 
       var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input2").val()); 

       if (!date1 || date2) { 
        $("#input1").val(dateText); 
        $("#input2").val(""); 
        $(this).datepicker("option", "minDate", dateText); 
       } else { 
        $("#input2").val(dateText); 
        $(this).datepicker("option", "minDate", null); 
       } 

       //$("#dateoutput").html("Chosen date is <b>" + date1 + "</b> - <b>" + dateText + "</b>"); 
      } 
     }); 
    }); 

Как я могу привязывать данные в соответствии с выбранным диапазоном дат.

enter code here 

ответ

0

Я не совсем уверен, что вы хотели сделать, но я сделал JSFiddle из того, что понял.

Чтобы проверить, сделайте следующее:

1) Я сохранил первоначальную дату в виде строки JSON, так что вы можете нажать на «Load JSON Дата», и он будет разобрать строку JSON и сохранять значения в 2 поля ввода.

2) Затем вы можете выбрать другой диапазон дат и нажать «Сохранить данные JSON», и это приведет к сбою данных.

3) Изменение даты

4) Нажмите «Загрузить в формате JSON данные» и сбросит поля обратно в данных, хранящихся.

http://jsfiddle.net/1xqbgshm/4/

Код выполняет следующие функции:

$("#store").click(function() { 
    var date1 = $("#input1").val(); 
    var date2 = $("#input2").val(); 
    var dateObject = { 
     "fromDate": date1, 
     "toDate": date2 
    }; 

    jsonString = JSON.stringify(dateObject); 
    alert(jsonString); 
}); 

$("#load").click(function() { 
    var javascriptObject = $.parseJSON(jsonString); 
    $("#input1").val(javascriptObject.fromDate); 
    $("#input2").val(javascriptObject.toDate); 
}); 

ли эта помощь?

Смежные вопросы