2014-12-13 48 views
0

我加载DATAS与阿贾克斯(直通PHP):日期选择器不启动

 $retour.= ' 

<table id="dates_stages_comp"> 
    <tr> 
    <th>Nom</th><th>Prénom</th><th>Matricule</th><th>Année</th><th>Dates début</th><th>Date fin</th><th>&nbsp;</th> 
    </tr>'; 

foreach($resultatSQL as $ligneSQL) 
{ 

    $retour .= '<tr><td>'.$ligneSQL->nom.'</td>'; 
    $retour .= '<td>'.$ligneSQL->prenom.'</td>'; 
    $retour .= '<td>'.$ligneSQL->matricule . '</td>'; 
    $retour .= '<td>'.$ligneSQL->annee.'</td>'; 
    $retour .= '<td>'.$ligneSQL->date_debut_stage_comp.'</td>'; 
    $retour .= '<td><input id="datepicker_debut_s_c" type="text" value="'.$ligneSQL->date_fin_stage_comp.'" /></td>'; 
    $retour .= '<td><input id="datepicker_fin_s_c" type="text" value="'.$ligneSQL->date_fin_stage_comp.'" /></td>'; 

} 

$retour.='</table>'; 
echo $retour; 

retour is back in french 

This is my js code : 

    $('#datepicker_debut_s_c').datepicker(
    { 
     dateFormat: 'dd-mm-yy', 
     changeYear: true, 
     maxDate: null 
    }); 

    $('#datepicker_fin_s_c').datepicker(
    { 
     dateFormat: 'dd-mm-yy', 
     changeYear: true, 
     maxDate: null 
    }); 

    alert($('#datepicker_debut_s_c').length); 

    $.ajax 
    (
     { 
     type: 'POST', 
     url: 'dates_stages_complermentaires.php', 
     dataType: 'text', 
     success: function(retour) 
     { 
      $('#dates_infos_stages_comp').html(retour); 
     }, 
     error:function(retour) 
     { 
      alert(retour); 
     } 
     } 
    ); 

问题是我的日期选择器不启动...

alert($('#datepicker_debut_s_c').length); 

给我0

以上代码在里面:

$(document).ready(function() { 
+0

是的,我做了,我的网站使用jquery-ui很长一段时间,我想添加一个新的日期选择器 – user3553866 2014-12-13 10:00:22

+0

把日期选择器放入ajax的成功。 – 2014-12-13 10:09:54

+0

这就是我所做的事情,它很好用,谢谢! – user3553866 2014-12-13 10:15:39

回答

3

Elemen在页面加载后添加到页面的ts不会自动分配给事件监听器,你必须在ajax调用之后自行完成。

所以,你应该做这样的事情:

$.ajax({ 
    type: 'POST', 
    url: 'dates_stages_complermentaires.php', 
    dataType: 'text', 
    success: function(retour) { 
     $('#dates_infos_stages_comp').html(retour); 

     $('#datepicker_debut_s_c').datepicker({ 
      dateFormat: 'dd-mm-yy', 
      changeYear: true, 
      maxDate: null 
     });  

     $('#datepicker_fin_s_c').datepicker({ 
      dateFormat: 'dd-mm-yy', 
      changeYear: true, 
      maxDate: null 
     }); 
    }, 
    error:function(retour) { 
    alert(retour); 
    } 
}); 

还要检查JavaScript控制台中的错误,并且确保在日期选择器元素的ID都是唯一的,如果你创建通过Ajax多个元素。

+0

太棒了,谢谢changepicture,它的工作原理,你是最棒的!我只是在课堂上改变了id。祝大家愉快 – user3553866 2014-12-13 10:15:03

相关问题