出生日期字段从下拉菜单更改为日历



我们在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文件

这可以通过DatePicker完成:

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

<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的日期对象(可以从PHP提供日期字符串),从今天开始的天数(2,或-1),或像'-18y'或'+1m'这样的字符串…还有很多方法可以改进:http://api.jqueryui.com/datepicker/

最新更新