0

在我的 MVC 应用程序中,我可以将 datepicker 类分配给所有需要日期字段的输入框。以前我可以使用以下属性(有效)设置我的日期选择器;

$(".datePicker").datepicker({ 
  showOn: 'both', 
  dateFormat: 'dd MM yy', 
  changeMonth: true, 
  changeYear: true, 
  yearRange: 'c-1:c+1', 
  beforeShowDay: noWeekendsOrHolidays });

现在我需要分配一个需要不同设置的出生日期选择器。因此,对于该元素,我将元素包装如下;

<span class="allDates"><%: Html.EditorFor(model => model.Employee.Dob)%></span>

因此,当我的视图被渲染时,来自 View Source 的 Html 看起来像;

<tr>
    <td style="text-align: right;">
        <label for="Employee_Dob">Date of Birth</label>
    </td>                    
    <td colspan="2">
        <span class="allDates">
            <input class="datePicker" id="Employee_Dob" name="Employee.Dob" type="text" value="" />
        </span>
    </td>
</tr>

现在我的 jquery 不起作用 - 我想这对某人来说是一个简单的修复;

$(function () {
    $(".datepicker").each(function() {
        if ($(this).parent().hasClass("allDates")) {
            $(this).datepicker({ showOn: 'both', dateFormat: 'dd MM yy', changeMonth: true, changeYear: true, yearRange: 'c-100:c' });
        } else {
            $(this).datepicker({ showOn: 'both', dateFormat: 'dd MM yy', changeMonth: true, changeYear: true, yearRange: 'c-1:c+1', beforeShowDay: noWeekendsOrHolidays });
        }
    });
});
4

1 回答 1

1

为您的 DOB 字段添加一个额外的类,然后在其上再次创建日期选择器,并使用一组不同的选项:

class="datepicker dob"

$(".datepicker.dob").datepicker('destroy').datepicker({ 
    showOn: 'both',
    dateFormat: 'dd MM yy',
    changeMonth: true,
    changeYear: true,
    yearRange: 'c-100:c'
});

或者仅在该特定日期选择器上重新创建选项:

$("#Employee_Dob.datePicker").datepicker('destroy').datepicker({ 
    showOn: 'both',
    dateFormat: 'dd MM yy',
    changeMonth: true,
    changeYear: true,
    yearRange: 'c-100:c'
});
于 2012-12-05T10:20:04.617 回答