在函数外传递json var值

时间:2018-05-29 21:05:56

标签: jquery json

我需要两个json变量来设置timepicker mintime和maxtime。

如何传递值?

任何帮助都将受到高度赞赏。

提前致谢。

这是代码:

var js_array_dias = <?php echo json_encode($dias_entrega);?>;
var dayValues = js_array_dias.map(function(item) {
  return item.fecha_entrega
});
var fecha_viable = null;
var horario_inicio = null;
var horario_fin = null;

$(function() {
  $("#datepicker").datepicker({
    beforeShowDay: function(date) {
      var fechas_entrega = jQuery.datepicker.formatDate('yy-mm-dd', date);
      return [dayValues.indexOf(fechas_entrega) != -1]
    },
    onSelect: function(fecha_entrega) {
      $.ajax({
        type: 'POST',
        url: 'seleccion_hora.php',
        data: {
          date: fecha_entrega
        },
        success: function(resp) {
          if (false !== resp) {
            var viable_json = resp.substr(10);
            var viable = JSON.parse(viable_json);
            fecha_viable = viable.fecha;
            horario_inicio = viable.hora_inicio;
            horario_fin = viable.hora_fin;

          }
        }
      });
    }
  });
});
//Time
$('#timepicker').timepicker({
  'minTime': '2:00pm',
  'maxTime': '11:30pm',
  'showDuration': false
});

2 个答案:

答案 0 :(得分:0)

更新成功功能中的时间戳。

success: function(resp) {
  if (false !== resp) {
    var viable_json = resp.substr(10);
    var viable = JSON.parse(viable_json);
    $("#timepicker").timepicker("options", {
      minTime: viable.hora_inicio,
      maxTime: viable.hora_fin
    });
  }
}

答案 1 :(得分:0)

我将代码留作解决方案:

var js_array_dias = <?php echo json_encode($dias_entrega);?>;
var dayValues = js_array_dias.map(function(item){
                return item.fecha_entrega
                                       });
$(function(){
    $("#datepicker").datepicker({
    dateFormat: 'yy-mm-dd',
    beforeShowDay: function (date) {
              var fechas_entrega = jQuery.datepicker.formatDate('yy-mm-dd', date);
             return [ dayValues.indexOf(fechas_entrega) != -1 ]},
    onSelect: function(fecha_entrega) {
        $("#timepicker").timepicker('remove');
        $("input[name='fecha_entrega']").val(fecha_entrega);
        $.ajax({
            type: 'POST',
            url: 'seleccion_hora.php',
            data: {date : fecha_entrega},
            success: function(resp) {
                if (false !== resp) {
                  var viable_json = resp.substr(10);
                  var viable = JSON.parse(viable_json);
                  $("#timepicker").timepicker({
                      minTime: viable.hora_inicio,
                      maxTime: viable.hora_fin
                  });
                }
            }
          })
        }
    });
});

希望这有助于其他人。