我有一个下拉列表,用户可以在其中选择月/日/年,但是为了让我在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();
});
答案 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:
在图像上触发日期选择器,而不是传统的文本框。
快乐编码:)