jQuery Datepicker - 自动为所有日期选择器定义altField

Bad*_*sie 5 jquery jquery-ui datepicker jquery-ui-datepicker

我的所有日​​期选择器都有一个自动生成的隐藏字段,该字段与datepicker输入具有相同的ID,但前缀为下划线.

<div class="datepicker">
    <input id="MyField1" type="text" value="" />
    <input id="_MyField1" type="hidden" value="" />
</div>

<div class="datepicker">
    <input id="MyField2" type="text" value="" />
    <input id="_MyField2" type="hidden" value="" />
</div>
Run Code Online (Sandbox Code Playgroud)

然后任何具有类的字段datepicker都会变成一个日期选择器.

$('.datepicker input').datepicker({
    altFormat: 'yy-mm-dd',
    changeMonth: true,
    constrainInput: true,
    dateFormat: 'dd/mm/y',
    minDate: '+0d',
    numberOfMonths: 2
});
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能自动为它设置altField选项呢?

这不起作用.我也尝试在原始选项中进行分配,但这也不起作用.

$('.datepicker input').each(function() {
    var altField = '_' + $(this).prop('id');
    $(this).datepicker('option', 'altField', altField);
});
Run Code Online (Sandbox Code Playgroud)

Fré*_*idi 5

所述altField选项接受一个选择器,一个jQuery对象或元件,而不是一个id属性。

尝试指定一个id选择器

$(this).datepicker("option", "altField", "#_" + $(this).prop("id"));
Run Code Online (Sandbox Code Playgroud)

或者,保存对的呼叫$()和对的呼叫prop()

$(this).datepicker("option", "altField", "#_" + this.id);
Run Code Online (Sandbox Code Playgroud)