我试图填充一个带有月份名称的下拉列表,另一个带有几天,另一个有多年,一切都很好,除了我有问题设置为月份数而不是月名。
这就是我所拥有的。
<script>
$('document').ready(function()
{
var minOffset = -70, maxOffset = -17;
var thisYear = (new Date()).getFullYear();
var m_names = ['January', 'February', 'March','April', 'May', 'June', 'July','August', 'September', 'October','November', 'December'];
var month = 0;
for (var j = month; j <= 11; j++)
{
var months = m_names[ 0 + j].slice( 0, 3 );
$('<option>', {value: months, text: months}).appendTo("#dob_month");
}
for (var i = minOffset; i <= maxOffset; i++)
{
var year = thisYear + i;
$('<option>', {value: year, text: year}).appendTo("#dob_year");
}
});
</script>
日期选项目前以1-31的形式进行了硬编码(可能需要帮助以填充每个月的正确天数,2月总是29)。
如果选择1月份,如何将选项值设置为01?
除此之外,我对其他任何建议持开放态度。请记住,我最终将连接年 - 月 - 日以检查数据库中的日期。
答案 0 :(得分:1)
如果我理解你,那么这应该有效:
$('<option>', {value: j+1, text: months}).appendTo("#dob_month");
答案 1 :(得分:1)
只需将月份更改为j + 1值
像这样$('<option>', {value: j+1, text: months}).appendTo("#dob_month");
答案 2 :(得分:1)
for (var j = month; j <= 11; j++)
{
var months = m_names[ 0 + j].slice( 0, 3 );
$('<option>', {value: j+1, text: months}).appendTo("#dob_month");
}
将月份的值设置为1,2等。当j从0开始时,这将是j+1
答案 3 :(得分:1)
如果我理解你想要的东西,试试这个:
for (var j = 1; j <= 12; j++)
{
var val;
if (j<10)
val="0"+j
else
val=j
$('<option>', {value: val, text: m_names[j-1],slice(0,3)}).appendTo("#dob_month");
}