Javascript 无法读取属性';设置开始日期';未定义的
我有以下引导日期范围选择器:Javascript 无法读取属性';设置开始日期';未定义的,javascript,undefined,bootstrap-daterangepicker,Javascript,Undefined,Bootstrap Daterangepicker,我有以下引导日期范围选择器: <div class="form-group"> <label class="control-label col-md-3">Inicio: </label> <div class="col-md-7"> <div class="input-group input-large date-picker input-daterange" data-date="2014-03-01" data-dat
<div class="form-group">
<label class="control-label col-md-3">Inicio: </label>
<div class="col-md-7">
<div class="input-group input-large date-picker input-daterange" data-date="2014-03-01" data-date-format="yyyy-mm-dd" id="div_datas_funcao_atual">
<input type="text" class="form-control" name="funcao_atual_inicio" id="funcao_atual_inicio" value="<?php echo $Hoje ?>">
<span class="input-group-addon"> fim </span>
<input type="text" class="form-control" name="funcao_atual_fim" id="funcao_atual_fim" value="<?php echo $Hoje ?>">
</div>
</div>
</div>
function mostra_datas_empreitada(){
ID = $('#empreitada_atual').val();
$.ajax({
url: 'php/sst_pessoas.php?tipo_acao=empreitada_datas&id='+ID,
type: 'get',
data: { tag: 'getData'},
dataType: 'json',
success: function (dados) {
if (dados.sucesso) {
dt_inicial = dados.dt_inicio;
dt_final = dados.dt_fim;
$('#div_datas_funcao_atual').data('daterangepicker').setStartDate(dt_inicial);
$('#div_datas_funcao_atual').data('daterangepicker').setEndDate(dt_final);
}
}
});
}
ajax调用返回以下数据:
{“sucesso”:正确,“dt_inicio”:“2015-08-31”,“dt_fim”:“2015-09-04”}
ajax调用后,DaterangePicker值不会更改,我收到消息“无法读取未定义的属性“setStartDate””。
我不知道怎么了。
感谢您的帮助。
谢谢。我看不到组件的初始化。试试这个
$('#daterange').daterangepicker({ startDate: '03/05/2005', endDate: '03/06/2005' });
//change the selected date range of that picker
$('#daterange').data('daterangepicker').setStartDate('03/01/2014');
$('#daterange').data('daterangepicker').setEndDate('03/31/2014');
我认为您需要选择要更新的输入,而不是它们的容器。尝试:
function mostra_datas_empreitada(){
ID = $('#empreitada_atual').val();
$.ajax({
url: 'php/sst_pessoas.php?tipo_acao=empreitada_datas&id='+ID,
type: 'get',
data: { tag: 'getData'},
dataType: 'json',
success: function (dados) {
if (dados.sucesso) {
dt_inicial = dados.dt_inicio;
dt_final = dados.dt_fim;
//Change these two selectors:
$('#funcao_atual_inicio').data('daterangepicker').setStartDate(dt_inicial);
$('#funcao_atual_fim').data('daterangepicker').setEndDate(dt_final);
}
}
});
}
或者,如果@Mickey建议的是正确的,并且您尚未初始化日期选择器,请尝试:
$('#div_datas_funcao_atual').daterangepicker({ startDate: '03/05/2005', endDate: '03/06/2005' });
//change the selected date range of that picker
$('#div_datas_funcao_atual').data('daterangepicker').setStartDate('03/01/2014');
$('#div_datas_funcao_atual').data('daterangepicker').setEndDate('03/31/2014');
您是否在脚本中包含bootstarap daterangepicker?是的,我包含了这些文件。它是初始化的,没问题。`$(''div_datas_funcao_atual').data('daterangepicker')`:元素#div_datas_funcao_atual不存在或数据[daterangepicker]未设置。尝试创建单独的步骤并记录每个步骤(查询元素,获取数据)我尝试了您的示例,但在$('#daterange').data('daterangepicker').setStartDate('03/01/2014')上给出了相同的错误;我说初始化没问题,因为我可以选择范围内的日期,从用户的角度来看,daterange运行良好。你认为“未定义”的含义是与组件(daterangepicker)有关还是与日期本身有关?很好,但不幸的是结果是一样的。Hmmm。尝试更新的答案,然后用
$('div_data_funcao_atual')初始化日期选择器({startDate:'03/05/2005',endDate:'03/06/2005')代码>可能尝试在日期中使用“/”而不是“-”。见此: