2014-12-13 86 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

相關問題