2016-09-12 55 views
0

我們有一個表格內置於codeigniter其中有一個出生日期字段(該字段是一個下拉字段截至目前,我們有一個選項從我們的管理面板更改此字段的範圍(開始日期和結束日期))。這樣我們不需要改變.php文件。出生日期從下拉字段變爲日曆

在PHP文件出生日期碼:

<div class="row-form"> 
    <div class="span3">Date Of Birth<font color="#FF0000">*</font></div> 
     <div class="span9"> 
      <?php 
      // Start date 
      $date = $dob_start_date; 
      // End date 
      $end_date = $dob_end_date; 
      ?> 
     <select name="dob" id="dob" required> 
      <?php 
      while (strtotime($date) <= strtotime($end_date)) { 
      ?> 
      <option value="<?=$date?>" <?php if($dob==$date){ echo "selected";}?>><?=date("d-m-Y", strtotime($date));?></option> 
      <?php 
      $date = date ("Y-m-d", strtotime("+1 day", strtotime($date))); 
      } 
      ?> 
      </select> 
     </div> 
    <div class="clear"></div> 

</div> 

我們要改變從下拉日曆出生場的這個日期。請幫助我們如何將此字段從下拉列表更改爲日曆。

我們經常更改DOB範圍。它很容易從管理面板中更改DOB範圍。但編輯.php文件很困難。在我們的表單中還有7個這樣的字段,所有的日期字段範圍都可以從管理面板進行調整。我們不想經常編輯.php文件。

+0

使用jquery datepicker – Ish

+0

爲什麼從常規的''塊切換到短塊''? – Twisty

回答

0

這可以用的DatePicker來完成:

工作例如:https://jsfiddle.net/Twisty/527zbs4s/

HTML

<div class="row-form"> 
    <div class="span3">Date Of Birth<font color="#FF0000">*</font></div> 
    <div class="span9"> 
    <input name="dob" id="dob" required type="text" value=""> 
    </div> 
    <div class="clear"></div> 
</div> 

jQuery的

$(function() { 
    $("#dob").datepicker({ 
    dateFormat: 'yy-mm-dd', 
    defaultDate: '-18y' 
    }); 
}); 

一個簡單的方法是使用value="<?php echo $dob_start_date; ?>"來設置值。您還可以通過defaultDate來自JS的Date對象(可以使用來自PHP的日期字符串),來自今天的天數(2或-1)或者像'-18y'或'+ 1m'這樣的字符串...還有很多方法可以改善它:http://api.jqueryui.com/datepicker/

+0

感謝您的依賴。我們經常更改DOB範圍。它很容易改變從管理面板的範圍。但編輯.php文件很困難。在我們的表單中還有7個這樣的字段,所有的日期字段範圍都可以從管理面板進行調整。我們不想經常編輯.php文件。 – Gagan

+0

您在原始文章中提到了這一點,但目前尚不清楚,現在也不清楚這與您的目標有何關聯。你試圖完成什麼? – Twisty