1

我在表单中有 DOB 选择框,我想根据选定的年份和月份填充确切的天数

年:

<select name="yy" id="yy" class="box">
    <option value="2013">2013</option>
    .
    .
    <option value="1955">1955</option>
</select>

月:

<select name="mm" id="mm" class="box">
    <option value="01">01</option>
    .
    .
    <option value="12">12</option>
</select>

我将使用 PHP 函数来填充天数:

function days_in_month($month, $year){
    // calculate number of days in a month
    return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31);
}

在 jQuery onchange 中,我如何获取yymm传递值days_in_month($month, $year)如下?

$('#mm').on('change', function() {
    alert( this.value );
});

我不希望每次更改所选值时都刷新页面。

4

1 回答 1

2

您可以使用 javascript 执行此操作,在这种情况下无需将 ajax 与 php 一起使用:

<script type='text/javascript'>

function days_in_month(month, year){
    // calculate number of days in a month
    return month == 2 ? (year % 4 ? 28 : (year % 100 ? 29 : (year % 400 ? 28 : 29))) : ((month - 1) % 7 % 2 ? 30 : 31);
}

$(document).ready(function() {

 $('#mm').change(function(){

  var mm=$(this).val();//get the month
  var yy=$('#yy').val();//get the day
  $('#dd').val(days_in_month(mm,yy));// i assume that your input for day has id='dd'

 });
});

</script>
于 2013-09-02T03:16:51.203 回答