使用datepicker填充日期下拉列表

时间:2014-02-25 13:27:25

标签: javascript jquery forms datepicker

我有一个下拉列表,用户可以在其中选择月/日/年,但是为了让我在jquery datepicker中添加的用户更快一点,这是正常工作,除非有一种方式,一旦用户从日历中选择了一个日期,它会自动填充下拉字段? 因为我已将这些下拉列表设置为已导入我的数据库。

当前下降

<dd>
        <select id="month_of_purchase" name="entry[month_of_purchase]">
            <option value="">Month</option>
            <option value="1">Jan</option>
            <option value="2">Feb</option>
            <option value="3">Mar</option>
            <option value="4">Apr</option>
            <option value="5">May</option>
            <option value="6">Jun</option>
            <option value="7">Jul</option>
            <option value="8">Aug</option>
            <option value="9">Sep</option>
            <option value="10">Oct</option>
            <option value="11">Nov</option>
            <option value="12">Dec</option>
        </select>
        <select id="day_of_purchase" name="entry[day_of_purchase]">
            <option value="">Day</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
            <option value="25">25</option>
            <option value="26">26</option>
            <option value="27">27</option>
            <option value="28">28</option>
            <option value="29">29</option>
            <option value="30">30</option>
            <option value="31">31</option>
        </select>
        <select id="year_of_purchase" name="entry[year_of_purchase]">
            <option value="">Year</option>
            <option value="2011">2011</option>
            <option value="2012">2012</option>
            <option value="2013">2013</option>
            <option value="2014">2014</option>
            <option value="2015">2015</option>
            <option value="2016">2016</option>
        </select>
        </dd>

当前的datepicker

$(document).ready(function(){
$("#datepicker").datepicker();
});

2 个答案:

答案 0 :(得分:2)

$(document).ready(function(){
    $("#datepicker").datepicker({dateFormat: 'mm-dd-yy',
        onSelect: function(dateText, inst) {
            var mydate= $(this).datepicker("getDate");
            $("#month_of_purchase").val(mydate.getMonth()+1);            
            $("#day_of_purchase").val(mydate.getDate());
            $("#year_of_purchase").val(mydate.getFullYear());
        }
    });
});

看到它正常工作:http://jsfiddle.net/8SYsN/

答案 1 :(得分:1)

试试这种方式

JQUERY CODE:

$(document).ready(function () {
 $("#tx").datepicker({
    buttonImage: 'http://icongal.com/gallery/image/203336/birthday_rose_for_kdc_kdc_rose_love_flower_valentine_rose.png',
    buttonImageOnly: true,
    changeMonth: true,
    changeYear: true,
    showOn: 'both'
});

$("#tx").on('change', function () {
    var dt = ($(this).val()).split('/');
    var mon = dt[0];
    var day = dt[1];
    var year = dt[2];
    $('#month_of_purchase').val(mon).attr("selected", "selected");
    $('#day_of_purchase').val(day).attr("selected", "selected");
    $('#year_of_purchase').val(year).attr("selected", "selected");
});

});`

HTML CODE:

 <input type="hidden" id="tx" />
 <select id="month_of_purchase" name="entry[month_of_purchase]">
 <option value="">Month</option>
 <option value="01">Jan</option>
 <option value="02">Feb</option>
 <option value="03">Mar</option>
 <option value="04">Apr</option>
 <option value="05">May</option>
 <option value="06">Jun</option>
 <option value="07">Jul</option>
 <option value="08">Aug</option>
 <option value="09">Sep</option>
 <option value="10">Oct</option>
 <option value="11">Nov</option>
 <option value="12">Dec</option>
</select>
<select id="day_of_purchase" name="entry[day_of_purchase]">
 <option value="">Day</option>
 <option value="01">1</option>
 <option value="02">2</option>
 <option value="03">3</option>
 <option value="04">4</option>
 <option value="05">5</option>
 <option value="06">6</option>
 <option value="07">7</option>
 <option value="08">8</option>
 <option value="09">9</option>
 <option value="10">10</option>
 <option value="11">11</option>
 <option value="12">12</option>
 <option value="13">13</option>
 <option value="14">14</option>
 <option value="15">15</option>
 <option value="16">16</option>
 <option value="17">17</option>
 <option value="18">18</option>
 <option value="19">19</option>
 <option value="20">20</option>
 <option value="21">21</option>
 <option value="22">22</option>
 <option value="23">23</option>
 <option value="24">24</option>
 <option value="25">25</option>
 <option value="26">26</option>
 <option value="27">27</option>
 <option value="28">28</option>
 <option value="29">29</option>
 <option value="30">30</option>
 <option value="31">31</option>
</select>
<select id="year_of_purchase" name="entry[year_of_purchase]">
 <option value="">Year</option>
 <option value="2011">2011</option>
 <option value="2012">2012</option>
 <option value="2013">2013</option>
 <option value="2014">2014</option>
 <option value="2015">2015</option>
 <option value="2016">2016</option>
</select>

现场演示: http://jsfiddle.net/Un7PG/21/

编辑1:

我所做的唯一修改是,我已将选项标记的value属性下的日期值从1,2,3...转换为01,02,03......

编辑2:

在图像上触发日期选择器,而不是传统的文本框。

快乐编码:)